ISBN barcodes, done properly

A small, public utility for generating deterministic ISBN (Bookland EAN‑13) barcodes.

What is this?

isbn.wrid.org is a simple, public service that generates ISBN barcodes as standards‑compliant SVG. It accepts ISBN‑13 and ISBN‑10 (including an X check digit) and renders a Bookland EAN‑13 symbol suitable for book covers, catalogs, and long‑lived documents.

No tracking. No analytics. No URL shorteners. Just encoding in SVG.

Generate an ISBN barcode

The result is an SVG image (vector), suitable for print and PDFs.

How to use it

You can embed the result directly in documents, PDFs, or HTML without further processing.

Parameters

The h parameter controls the bar height in pixels for the SVG output. This is important for scan reliability and fitting the barcode into back-cover layouts. Since SVG is vector, the DPI is determined at export or print time.

Price add-on logic (EAN‑5)

When you provide a price, the service generates a 5‑digit EAN add‑on (often used on books as a price code) and renders it to the right of the main Bookland EAN‑13 symbol. The add‑on is deterministic: the same inputs always produce the same barcode.

Examples (what gets encoded to the add‑on):

Note: The add‑on digits you see next to the barcode (e.g. 51200) are part of the EAN‑5 symbol; the trailing > marker is a visual convention used on many book barcodes.

Content negotiation

This service supports HTTP content negotiation. The same URL can return different representations depending on the Accept header sent by the client.

This allows the same endpoint to be used interactively by humans and programmatically by machines, without changing URLs. Note: h applies to SVG output.

CURL Examples

Generate SVG with ISBN-13

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6" \
  --output isbn.svg

Generate SVG with ISBN-10

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=193419805X" \
  --output isbn10.svg

Generate SVG with price add-on

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6&price=19.99&cur=US$" \
  --output isbn-price.svg

Generate SVG with price add-on (no currency label)

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6&price=19.99" \
  --output isbn-price-nocur.svg

Generate SVG with price add-on (GBP prefix)

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6&price=9.50&cur=GBP" \
  --output isbn-price-gbp.svg

Generate SVG with price add-on and custom bar height

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6&price=19.99&cur=US$&h=320" \
  --output isbn-price-h320.svg

Generate SVG with custom bar height

curl -H "Accept: image/svg+xml" \
  "https://isbn.wrid.org/?isbn=978-1-934198-05-6&h=320" \
  --output isbn-h320.svg

Why another barcode generator?

Most barcode generators today are marketing tools. This one is infrastructure.

Why do some companies charge for barcodes?

In many countries, the “barcode” you buy is not a special format — it is simply a correctly sized graphic that encodes your ISBN (and optionally a 5-digit price add-on). Vendors charge for convenience: they provide a file that is ready to paste into a book cover, plus support if you are unsure about sizing, quiet zones, or add-on conventions.

Important distinction: an ISBN is an identifier you must be assigned (typically purchased from your national ISBN agency). A barcode is just one way to render that identifier for scanners. isbn.wrid.org does not sell or assign ISBNs — it generates the barcode artwork from an ISBN you already have.

If you already own your ISBN, this service lets you generate a deterministic, standards-compliant SVG for free. If you don’t own an ISBN yet, you still need to obtain one through the official channel for your region.

What’s next?

In the future, paths like isbn.wrid.org/<id> will resolve ISBN barcodes backed by WRID records.

The current ?isbn= endpoint will remain available.