CWR File Viewer
A Visual Studio Code extension that turns unreadable CWR files into a colour-coded, interactive viewer.
What is a CWR file?
CWR (Common Works Registration) is the international standard format used by music publishers to register musical works with performing and mechanical rights societies worldwide — PRS, ASCAP, BMI, SOCAN, STIM, GEMA and others.
A CWR file is plain text with fixed-width records. Every line is a wall of characters with no separators — fields are identified purely by their byte position. Reading one without tooling looks like this:
NWR0000000100000000MY FAVOURITE SONG EN00000001 T0123456789POP000727Y
SPU000000010000000101000100001UNIVERSAL MUSIC PUBLISHING E 021050000220
SWR000000010000000200000001SMITH JOHN CA 021050000
This extension makes that readable.
What the extension does
When you open a .V21, .V20 or .cwr file in VS Code it automatically activates and displays the file with:
- Every field colour-coded by its type — work titles, IPI numbers, share percentages, territory codes, dates and more are each a distinct colour
- A record type badge on the left of every line showing what the line is (
NWR, SPU, SWR etc.)
- A stats panel at the top counting every record type in the file
- A search bar to filter lines by record type or any text
- Tooltips showing the field name when you hover over any coloured segment
- A field popup showing the field name, value and exact byte position when you click any segment
Colour reference
| Colour |
Field type |
| Blue bold |
Record type |
| Light blue |
Work title |
| Orange |
ISWC number |
| Yellow italic |
Publisher name |
| Pink italic |
Writer name |
| Green |
Ownership / collection share % |
| Purple |
Society code |
| Teal |
IPI number |
| Emerald |
Territory (TIS code) |
| Sky blue |
Date |
| Lime |
Time |
How to use it
Opening a file
Open any .V21, .V20 or .cwr file in VS Code — the viewer activates automatically. You do not need to do anything else.
If you want to open the same file as plain text instead, click the ⌨ Plain Text button in the top-right toolbar.
Stats panel
At the top of the viewer you will see a row of badges — one for each record type present in the file, with a count:
HDR 1 GRH 1 NWR 130 SPU 163 SWR 174 SPT 163 ...
Click any badge to jump to the first occurrence of that record type.
Search and filter
Type in the search box to show only matching lines:
| You type |
What stays visible |
NWR |
Only New Work Registration lines |
SPU |
Only Publisher lines |
SP |
SPU and SPT lines (prefix match) |
SMITH |
Every line containing the text SMITH |
The search box border turns green when results are found and red when nothing matches. Click ✕ to clear the filter and show all lines again.
Inspecting a field
- Hover any coloured segment to see its field name in a tooltip
- Click any coloured segment to open a popup showing:
- The field name
- The field value
- The exact byte position (start – end)
- The record type description
Supported record types
| Code |
Description |
HDR |
Transmission Header |
GRH |
Group Header |
GRT |
Group Trailer |
TRL |
Transmission Trailer |
NWR |
New Work Registration |
REV |
Revision Registration |
SPU |
Publisher — Submitter Controlled |
OPU |
Publisher — Other |
SPT |
Publisher Territory of Control |
SWR |
Writer — Submitter Controlled |
OWR |
Writer — Other |
SWT |
Writer Territory of Control |
PWR |
Publisher for Writer |
ALT |
Alternate Title |
EWT |
Entire Work Title |
VER |
Original Work Title |
COM |
Composite Component |
PER |
Performing Artist |
REC |
Recording Detail |
ORN |
Work Origin |
INS |
Instrumentation Summary |
IND |
Instrumentation Detail |
ARI |
Additional Related Information |
ACK |
Acknowledgement |
MSG |
Message |
AGR |
Agreement |
TER |
Territory of Agreement |
IPA |
Interested Party of Agreement |
EXC |
Existing Work |
Any line with an unrecognised record type is displayed as plain grey text and will not break the viewer.
Supported file extensions
The extension activates automatically for:
| Extension |
Version |
.V21 / .v21 |
CWR version 2.1 |
.V20 / .v20 |
CWR version 2.0 |
.cwr / .CWR |
Generic CWR |
Reference