ISBN Barcode Decoder
Extract ISBN-10 and ISBN-13 book identification numbers
Our free ISBN barcode decoder reads 13-digit International Standard Book Numbers from book barcodes and identifies their prefix and check digit. ISBN-13 values generally start with 978 or 979. A 978 ISBN can have an ISBN-10 equivalent; a 979 ISBN cannot be converted to ISBN-10.
Need to decode ISBN barcodes in your app?
Copy the example below to get started using our free Barcode Parser API. No API key needed.
barcode=$'9780140283334'
curl -sS -G https://parser.orcascan.com/ \
--data-urlencode "barcode=$barcode" \
--data-urlencode 'type=isbn'
// Node.js 18+
var barcode = "9780140283334";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=isbn";
fetch(url)
.then(function(res) { return res.json(); })
.then(console.log);
import json
from urllib.parse import quote
from urllib.request import urlopen
barcode = "9780140283334"
url = "https://parser.orcascan.com/?barcode=" + quote(barcode, safe="") + "&type=isbn"
with urlopen(url) as response:
print(json.load(response))
using System;
using System.Net.Http;
var barcode = "9780140283334";
var url = "https://parser.orcascan.com/?barcode=" + Uri.EscapeDataString(barcode) + "&type=isbn";
using var client = new HttpClient();
Console.WriteLine(await client.GetStringAsync(url));
package main
import (
"io"
"net/http"
"net/url"
"os"
)
func main() {
barcode := "9780140283334"
endpoint := "https://parser.orcascan.com/?barcode=" + url.QueryEscape(barcode) + "&type=isbn"
res, err := http.Get(endpoint)
if err != nil { panic(err) }
defer res.Body.Close()
io.Copy(os.Stdout, res.Body)
}
<?php
$barcode = "9780140283334";
$url = "https://parser.orcascan.com/?barcode=" . rawurlencode($barcode) . "&type=isbn";
echo file_get_contents($url);
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
class BarcodeParser {
public static void main(String[] args) throws Exception {
String barcode = "9780140283334";
String url = "https://parser.orcascan.com/?barcode=" +
URLEncoder.encode(barcode, StandardCharsets.UTF_8) + "&type=isbn";
var request = HttpRequest.newBuilder(URI.create(url)).build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<!doctype html>
<html>
<body>
<pre id="result">Loading...</pre>
<script>
var barcode = "9780140283334";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=isbn";
fetch(url)
.then(function(res) { return res.json(); })
.then(function(json) {
document.getElementById("result").textContent = JSON.stringify(json, null, 2);
});
</script>
</body>
</html>
Need to decode lots of ISBN barcodes?
Import a spreadsheet of barcodes and automatically extract their data into separate columns.
Decode barcodes in bulk →Need to extract ISBN data as you scan?
Scan barcodes with your phone and automatically capture their data in a shared spreadsheet.
Scan with your phone →Frequently asked questions
How is ISBN-13 encoded in a book barcode?
Book barcodes commonly use EAN-13 with a 13-digit ISBN beginning 978 or 979. The final digit is a modulo-10 check digit.
When can ISBN-13 be converted to ISBN-10?
An ISBN-13 beginning with 978 can have an ISBN-10 equivalent by removing 978 and recalculating its modulo-11 check character. ISBNs beginning 979 cannot be converted this way.
Why can an ISBN-10 end in X?
The ISBN-10 check calculation uses modulo 11. X represents the check value 10 and appears only in the check-character position.
Need help tracking ISBN barcodes?
We've helped organizations of all sizes tackle barcode challenges, chat with our team live for help to find a solution.