chords-js
The reference library for the .chords harmony format — the abcjs-analogue for chord progressions. It parses .chords into a structured model and provides modules to render chord charts, transpose, do Roman-numeral analysis, and compare/score progressions.
It complements abcjs rather than reimplementing it: staff notation and audio playback are delegated to abcjs by transpiling .chords → ABC. chords-js owns only the chord-specific layer abcjs leaves unspecified.
What it owns
Parse .chords | chords-js |
| Chord-chart model + render | chords-js |
| Transpose chord symbols | chords-js |
| Roman-numeral analysis | chords-js |
| Compare / score progressions | chords-js |
| Staff notation, audio | abcjs (via the .chords → ABC bridge) |
Try it
Usage
import { parse, renderChart } from 'chords-js';
const text = `%chords-1.0
M: 4/4
L: 1/1
K: C
|: Dm7 | G7 :| C | F |]`;
const { form, headers, title } = parse(text);
renderChart('paper', text); // → SVG in the elementDistributed as the npm package chords-js; install and usage details will appear here with the first release.