ISBN Validator
Validate a book ISBN (ISBN-10 or ISBN-13) by its check digit, with hyphens or spaces. Useful for libraries, bookstores and publishing catalogs.
ISBN validation: what the algorithm actually checks
An ISBN — International Standard Book Number is the worldwide identifier for monographic publications, defined by ISO 2108. Validating an ISBN means proving three things at once: that the string has the right length (10 or 13 digits, ignoring hyphens and spaces), that every position is in the allowed character set (digits 0-9, with the letter X tolerated only as the last position of an ISBN-10), and that the check digit matches the arithmetic computed from the preceding digits. This page runs the math entirely in your browser — nothing is uploaded.
Two formats coexist on the market. ISBN-10 was the original 1970 layout and is still printed on legacy stock; ISBN-13 has been mandatory for every new title since 1 January 2007. ISBN-13 starts with the 978 or 979 GS1 prefix, which makes it identical to the EAN-13 barcode on the back cover. Validating the two formats requires two different algorithms — easy to confuse, so here is each one in full.
ISBN-13 algorithm (mod 10)
Multiply the first twelve digits alternately by weights 1, 3, 1, 3, … (position 1 gets 1, position 2 gets 3, and so on). Sum the products, take the remainder modulo 10, and the check digit is (10 - remainder) mod 10. The final mod 10 handles the edge case where the remainder is 0, producing a check digit of 0 rather than 10. The output is always a single digit 0-9 — X is never valid in ISBN-13.
// 978-0-306-40615-?
digits = [9,7,8,0,3,0,6,4,0,6,1,5]
sum = 9*1 + 7*3 + 8*1 + 0*3 + 3*1 + 0*3
+ 6*1 + 4*3 + 0*1 + 6*3 + 1*1 + 5*3
= 93
dv = (10 - 93 % 10) % 10 = (10 - 3) % 10 = 7
// ISBN-13: 978-0-306-40615-7
ISBN-10 algorithm (mod 11)
Multiply the first nine digits by descending weights 10, 9, 8, 7, 6, 5, 4, 3, 2. Sum, take modulo 11, and the check digit is (11 - remainder) mod 11. If the result is 10 it is written as the Roman X; if it is 0 it stays 0. Because mod 11 can hit ten possible values, the alphabet of the check digit is 0123456789X — eleven symbols. This is the only place where an ISBN may contain a letter.
Converting ISBN-10 to ISBN-13 (and back)
Conversion is mechanical: drop the ISBN-10 check digit, prepend 978 to the remaining 9 digits, and recompute the check digit with the ISBN-13 algorithm. The reverse — going from a 978-prefixed ISBN-13 back to an ISBN-10 — is also possible, but ISBNs starting with 979 have no ISBN-10 counterpart and cannot be downconverted. A validator should accept both representations of the same title as equivalent.
- 0-306-40615-2 (ISBN-10) is the same edition as 978-0-306-40615-7 (ISBN-13).
- 979-10-90636-07-1 exists only in the ISBN-13 form.
Hyphenation and the registration groups
Hyphens are cosmetic and a validator must strip them before computing. Their position is, however, meaningful — they split the number into prefix, registration group, registrant (publisher), publication and check digit — and the block lengths are variable. Some well-known groups: 0/1 English area, 2 French, 3 German, 4 Japan, 5 Russia, 7 China, 84 Spain, 85 Brazil, 88 Italy, 989 Portugal. In Brazil the Câmara Brasileira do Livro (CBL), in partnership with the Biblioteca Nacional, is the official agency.
Where ISBN validation is required
- Library management: Koha, Evergreen, Aleph and Pergamum reject malformed ISBNs at catalogue import.
- E-commerce: Amazon Books, Mercado Livre Books and Estante Virtual use the ISBN as the primary key for editions.
- Academic citation: APA, Vancouver and ABNT NBR 6023 allow ISBN as a persistent reference for books.
- Union catalogues: OCLC WorldCat and the Brazilian SophiA network deduplicate records by ISBN.
- External lookup APIs: the
Open LibraryAPI (openlibrary.org/api/books?bibkeys=ISBN:…) and Google Books expect a valid ISBN before returning metadata.
Common pitfalls
- Hyphenation drift:
1-58488-432-2and978-1-58488-432-3point to the same title; both should validate. - The X character: capital X is the only allowed letter, and only as the last digit of an ISBN-10. Lowercase
xis usually accepted by validators after normalisation. - OCR confusion:
0vsO,1vsl,5vsSare frequent in scanned books — the mod-11 check catches most single-digit substitutions because 11 is prime. - ISBN-A (actionable ISBN) is a DOI overlay (
10.978.x/y) and is not validated by this tool. - ISBN-T ("T for Tom") is an old internet joke — not a real standard.
FAQ
Is ISBN-10 still valid? Yes for legacy stock printed before 2007, but no new ISBN-10 has been issued for nearly two decades. New titles are always ISBN-13.
Can an ISBN-13 contain the letter X? No. X only appears as the final character of an ISBN-10 when the mod-11 result equals 10.
Does a valid ISBN guarantee the book exists? No. The algorithm only checks that the number is mathematically consistent. To prove the title was actually registered, query Open Library, Google Books or the CBL portal.
How much does an ISBN cost in Brazil? The CBL charges around R$ 50 per ISBN; in the United States Bowker sells single ISBNs for about US$ 125 and packs of ten for around US$ 295.
Are hyphens required? No. They are decorative, helpful for human reading. The validator should normalise the input before computing the check digit.
Related Tools
ISBN-13 with Checksum Validator
Validate ISBN-13 (13 digits) — modern format since 2007. Includes 978/979 prefix and EAN-13 check digit.
Brazilian Voter ID Validator
Validate Brazilian voter ID (Título de Eleitor) numbers using the official TSE algorithm. No data sent to servers.
RENAVAM Validator
Validate Brazilian RENAVAM vehicle registration numbers using the official DENATRAN algorithm. No data sent to servers.
CNPJ Validator
Validate Brazilian CNPJ numbers instantly using the official algorithm. Useful for testing fiscal document validation. No data sent to servers.
IBAN Validator
Validate any international IBAN following ISO 13616 (mod-97) with country and length checks. Runs entirely in your browser — no data is sent anywhere.
Slug Validator
Check whether a slug is in valid format (a-z, 0-9, hyphens, no accents, no spaces, no double or edge hyphens). Suggests a fix. Everything in your browser.