ISBN Validator

Paste an ISBN-10 or ISBN-13 and see whether the check digit matches. The tool runs the mod-11 check for ISBN-10 (the check digit may be X = 10) and the mod-10 EAN check for ISBN-13. It splits the ISBN into its registration-group element, registrant, publication, and check digit, so you can sanity-check what range your ISBN falls into. It also converts ISBN-10 ↔ ISBN-13 (the 978-prefixed subset only). Bulk mode below for one-per-line lists, with copy as TSV. Pure client-side, no upload, no tracking.

Spaces, dashes, NBSPs, and em-dashes are stripped. “X” is treated as the ISBN-10 check digit.

Try:
one ISBN per line · up to 200
0 lines
How ISBN check digits work
  • ISBN-10 uses a mod-11 check digit. For the 9 digits d1…d9 the check digit c satisfies 10·c ≡ −(1·d1 + 2·d2 + … + 9·d9) (mod 11). If the result is 10, it’s printed as X — which is why an ISBN-10 can contain a letter.
  • ISBN-13 uses the same mod-10 check as EAN-13 / UPC-A: weight the first 12 digits alternately 1, 3, 1, 3, … and choose c so the total mod 10 = 0. ISBN-13s also must start with the GS1 bookland prefix 978 or 979; anything else fails.
  • The registration-group element identifies the language / country group (English = 0/1, German = 3, French = 2, Japanese = 4, Russian = 5, Chinese = 7, …). Each group has an assigned range, and the tool reads the table embedded in src/lib/tools/isbn.ts.
  • The registrant identifies the publisher within the group, and the publication identifies the title within that publisher’s range. Both are assigned by the agency and aren’t publicly decomposable without the full publisher table — the tool uses a documented best-effort convention (registrant = first 2 chars of the body, publication = the rest), which matches the most common publishers (Springer = “16”, O’Reilly = “96”).
  • ISBN-13 can always be promoted from ISBN-10 by prefixing 978 and recomputing the ISBN-13 check digit. The reverse (ISBN-13 → ISBN-10) only works for the 978 range — 979 ISBNs post-date the 2007 ISBN-13 mandate and have no ISBN-10 equivalent.
  • Bulk mode normalises every line, validates it, and emits a TSV with one row per ISBN. The header row is input · normalized · kind · valid · group · registrant · publication · check · issues. The summary line shows good / bad / invalid / ISBN-10 / ISBN-13 counts and how many duplicates (same normalised form) you submitted.
  • Nothing leaves your browser. All parsing runs locally.