ISMN Generator

Generate ISMN barcodes in your browser with live preview, validation, and PNG/SVG export.

Advanced options
Enter a value to see a live preview.
Options

These map directly to real generator options; anything not listed here is available under Advanced options above.

What ISMN is

ISMN (International Standard Music Number) is the print-music sibling of ISSN, structurally similar to ISBN: both are "Bookland/Musicland"-style codes with a fixed EAN-13 prefix ("979-0-" for ISMN). bwip-js delegates ISMN's own bar-pattern drawing entirely to its EAN-13 encoder -- confirmed directly by reading to the end of the function, and confirmed by rendering: an ISMN example's bars are byte-identical to calling the EAN-13 encoder directly with the same 13 digits.

Generate it now

Enter your ISMN in either the current 13-character form ("979-0-XXXX-XXXX-X") or the legacy 10-character form ("M-XXXXXX-X") to see a live preview.

Valid input

ISMN-13 must be 15 or 17 characters including dashes, starting with "979-" and containing exactly 2 dashes and 7 digits in the middle segment. ISMN-10 must be 11 or 13 characters including dashes, starting with the literal "M-" prefix and containing exactly 1 dash and 6 digits in its own middle segment ("ISMN-10 prefix must be M-" is the most common input mistake). bwip-js computes its own EAN-13-style Mod-10 check digit (alternating weights of 1 and 3) over the converted 13-digit form and rejects a supplied check digit that does not match.

Key options

Supported options include includetext (show the human-readable ISMN text), height, and legacy. bwip-js's own real default for includetext is false. legacy only affects the printed text when includetext is on, for an ISMN-10 or short-form ISMN-13 input: off (default) prints the converted "ISMN 979-0-..." form; on prints the original, un-converted "ISMN M-..." form instead -- it does not change the encoded barcode data.

Output and printing

Export SVG for print-shop cover artwork or PNG for a quick proof.

Common uses

ISMN appears on printed sheet music, scores, and other notated-music publications for retail and library identification, the music-publishing equivalent of an ISBN.

Example

See the live preview above, seeded with a bwip-js-verified valid ISMN-13 value.

Size guidance

Since bwip-js draws ISMN's bars using its EAN-13 encoder, it shares that symbology's own bar-width and quiet-zone conventions.

Troubleshooting

A rejected value is usually the wrong dash/digit count for the chosen form ("Incorrect number of dashes and digits for ISMN-13/ISMN-10"), a missing "979-" or "M-" prefix, or a check digit that does not match bwip-js's own computed value ("Incorrect ISMN check digit provided").

Related formats

Related formats: ISBN (the book equivalent, already in this catalog) and ISSN (the periodical equivalent, already in this catalog) -- all three share the same EAN-13-based structure with a different fixed prefix.

FAQ

Is ISMN the same encoding as EAN-13?

At the bar-drawing level, yes -- bwip-js delegates ISMN's own bars entirely to its EAN-13 encoder after converting the ISMN's own dash/prefix format to a plain 13-digit code. ISMN adds its own validation (the 979-0-/M- prefix rules) and its own printed-text formatting on top of that shared encoder.

What does the legacy option change?

It only affects the printed human-readable text (when includetext is on) for an ISMN-10 or short-form ISMN-13 input: off prints the converted "979-0-..." form, on prints the original "M-..." form. It never changes the encoded barcode data itself.