This erlang library provides ISBN-10 and ISBN-13 validation, check digit generation, and conversion between ISBN-10 and ISBN-13, when possible.
More information can be found in the edoc for the module. As of version 0.1.0, the module also allows passing in of ISBNs as strings:
7> isbn:convert_10_to_13_string("1590598032").
'9781590598030'
8> isbn:convert_13_to_10_string("9781590598030").
'1590598032'There is also an extensive test suite putting the library through its paces.