ISBN-10 to / from ISBN-13 conversion, ISBN hyphenation and book cover information

Here, you can fetch and find information about ISBN hyphenation and book covers. I have built this page for people needing to convert between ISBN-10 and ISBN-13, hyphenize ISBN’s (that is put dashes at the right place between the digits), interpret the different parts of an ISBN, get a cover thumbnail, or find links to book cover images (if available on the Internet).

You can also HTTP GET JSONP-formatted information (via JavaScript, for example) directly, GETting an URI such as or or (for example) where propsep=LF4 is a JSON-property separator consisting of one line-feed (LF) followed by four spaces (4). You can also try propsep=2 or propsep=LF etc. If no propsep is given, it defaults to propsep=1.

The JSON, JSONP, MODS and SVG formats provide conversion information between ISBN-10 and ISBN-13. The XHTML format provides a table with ISBN interpretation.


Here are some answers to a few questions you may wonder about when using this web page:

• What are all those output formats?
Links with more information about the different output formats are: XHTML+RDFa 1.1, JSON, JSONP, MODS, PPM, PNG and SVG.
• Trying to fetch information about one ISBN leads back to the start page. Why?
Try the JSON output, which is more verbose and produces warning and error messages if the ISBN is invalid, for example.
• Using “getcover” JSONP within JavaScript code results sometimes in modified callback names. Why?
Reserved words in JavaScript are excluded as callback names. Likewise names which could lead to confusion are excluded. A word like “prototype” is not a reserved word in JavaScript, but using such a word as a callback name is at the very least confusing and therefore excluded, for example. Likewise every word begining with “get” is excluded, etc. Short words are also excluded. If you choose a name which is not a reserved word in JavaScript, has many letters, is not likely to become a reserved word and does not begin with a prefix (such as “get”), which is common in JavaScript names, everything should work fine! If the web site where your JavaScript code is to be put is called then you can try with a callback named “org_example_mypage”, for example.
• This web page does not work with EVERY web browser. Why?
This web page will not work with (most of) really old browsers (i.e. from the 90'ies and 00'ies), but it has been successfully tested with (at least one of) the latest version(s) of most of the common, standard compliant web browsers. If it does not work with the browser you are using right now, try with a newer, standard compliant web browser.
• Sometimes, the answer needs several seconds to come. Why?
If the answer to your request is cached, it should come quite fast. If it is not cached, it will probably take a few seconds to compute the thumbnail. The subsequent times the same (or similar) request is made, the answer should come faster. If you are not interested in the thumbnail and cover link, you can check the box “Skip thumbnail computation” and the thumbnail will not be sent if it is not already cached. Thus, you can get faster answers if you are not interested in the thumbnail information.
• I would like to process several ISBN’s at a time. Is possible?
Of course and TIMTOWTDI! How to do it depends on what you want to do, which computer you use and your own taste. Here are a couple of examples to use in a terminal:
echo '9780674896451\n0674298748\n0131103628' | sed -e 's/^/https:\/\/\/home\/saasha\/getcover\/?propsep=LF4\&format=json\&isbn=/' | wget -i - -O - -o /dev/null | egrep hyphenizedISBN13 | sed -e 's/ *"hyphenizedISBN13": "//' -e 's/",//'
echo '9780674896451 0674298748 0131103628' | sed -e 's/\(^\| \)/&https:\/\/\/home\/saasha\/getcover\/?propsep=LF\&format=json\&isbn=/g' | sed -e 's/ /\n/g' | wget -qi - -O - | perl -ne 'print if s/"hyphenizedISBN10": "([-\d]+)",/$1/'
Of course, these examples will need to be adjusted for your own needs.

On line since 2012. Last modified by Saašha Metsärantala ( ) on Sunday, 2012-10-08.Braille readableValid XHTML+RDFa 1.1Valid CSS