Verovio
Fast, portable library for engraving MEI music scores to SVG, with MusicXML/Humdrum/ABC import.
| Language | C++ / JS |
|---|---|
| Category | Composition & notation |
| License | LGPL-3.0 |
| Platforms | macOS Windows Linux Web |
| Install | npm install verovio (also pip install verovio) |
| First released | ~2016 |
| Maintained | Yes |
| Links | Website · Source |
Strengths
- High-quality SMuFL-based SVG engraving
- Imports MEI, MusicXML, Humdrum, ABC and more
- Bindings for JS/WASM, Python, Java, Swift, Go
Limitations
- Engraving/rendering focused, not an editor
- C++/WASM build adds integration weight
Best for
Server- or browser-side engraving of MEI/MusicXML scores into SVG.
Minimal example
const vrv = new verovio.toolkit();
vrv.loadData(meiData);
const svg = vrv.renderToSVG(1);