ISBN adventures

By Simon St. Laurent
February 16, 2009 | Comments: 4

For most people, ISBNs are random noise on the backs of books, helpful mostly for barcode scanning at the register. For publishing folk, ISBNs can actually be memorable, magic keys for jumping from one system to the next. Of course, there are now two different flavors of ISBN, the obsolete (I prefer 'classic') variety with 10 digits, and the new version with 13 digits. Working with two sets of magic keys can be complicating.

When I was working at my first job in publishing, as a sales assistant, I built a crazy Access database that handled most of the repetitive parts of my work. For primary keys, it used a portion of the 10-digit ISBN, skipping the publisher prefix and ignoring the checksums. That gave me about five digits of meaningful identifier information, more than enough for the time I was there. I had lots of five digit identifiers in my head as I used this thing, though most sane people preferred to work from drop-down lists.

Now, I'm building a small application, one of whose main purposes is to make it easier to connect to various sources of ISBN-linked information. Amazon, for example, uses 10-digit ISBNs as part of its ASIN system, making it possible to build links to Amazon pages reliably as long as you have that number. Our internal systems use mostly 13-digit ISBNs, but some use 10-digit ISBNs.

I've had to learn more about ISBNs in the course of making this work. It turns out that the X check digit for 10-digit ISBNs really means "11" - in kind of an awkward Spinal Tap meets the Roman numeral system moment. It's funny, though - I've known people who thought an X on an ISBN was lucky, and those who thought it unlucky. I lean toward lucky.

It also turns out that because the 13-digit ISBNs don't have the X, because they shifted from a remainder of 11 to a remainder of 10, the checksum isn't foolproof. It's quite possible to transpose digits and still get the same checksum. Transpose two digits whose difference is 5, and you may have just ordered the wrong book.

Maybe that's a feature, not a bug? I guess it depends on the book you get.

Searching for information on ISBNs is a bit tricky, as 'ISBN' turns up all kinds of places. I got as far as writing an ISBN 10 to 13 converter in Ruby before finding the isbn-tools library. With a complete set of functions and an MIT license, it was an easy choice to add that gem to my application. (It's separate from, which has more general ISBN information and Java sample code.)

Now if only all metadata complications were so easily solved....

You might also be interested in:


For Ruby & ISBN, see:
LibraryThing's ISBN check API (esp. comments) and ISBN10 to ISBN13 code and tests.

My book publishing days ended before the 13 digit ISBNs but one piece of esoteric knowledge I always appreciated was the ability to quickly gauge the size of the publisher by the make-up of their prefix. Big publishers were given short prefixes so they could have more digits to cover all of their titles. It used to be that you could likewise make guesses about area codes, whose numbers were rigged for metropolitan size and the needs of rotary dialers but this has given way to the multiplicity of area codes and touch-dial. Alas!

There's also a Rails plugin I wrote awhile back for handling this exact problem (both ISBN-10 and ISBN-13); see

The difference of course is you can use many of the other tools you mentioned today. Not so much with Avairy. I am sure its a better product, but its also an unreleased product so the comparison losses some merit.
мини отели спб

News Topics

Recommended for You

Got a Question?