# ISSN

> Source: https://docs.barcoder.ai/docs/standards/issn
> research date 2026-10-03 · extracted at 2026-10-03
> Publisher: Barcoder — encyclopedia of QR, barcode and payment-code standards

Specifications:
- [ISSN International Centre — GTIN-13 barcode for serials](https://www.issn.org/?p=1287)
- [ISSN International Centre — What is an ISSN?](https://www.issn.org/understanding-the-issn/what-is-an-issn/)
- [PPA/ANMW — Best Practice for Bar Coding and Issue Numbering of Magazines (Jan 2019)](https://ppa.co.uk/wp-content/uploads/2022/08/PPA_Best_Practice_for_Bar_Code_Guidelines.pdf)
- [BWIPP — ISSN symbology reference](https://github.com/bwipp/postscriptbarcode/wiki/ISSN)

## Overview

The **ISSN barcode** is the way an International Standard Serial Number is carried on the cover of a magazine, newspaper or other periodical. It is not a separate symbology. It is an [EAN-13](https://docs.barcoder.ai/docs/standards/ean-13) (GTIN-13) symbol that starts with the GS1 prefix **977**, which is reserved for serial publications. That prefix is followed by the first seven digits of the ISSN, two publisher-controlled "variant" digits and a modulo-10 check digit <sup>[2][2]</sup><sup>[4][4]</sup>. In the newstrade, the EAN-13 is normally followed by a 2-digit [EAN Add-on (EAN-2, EAN-5)](https://docs.barcoder.ai/docs/standards/ean-add-on) that identifies the individual issue. Together they form a 15-digit "EAN 13+2" number that is unique to each issue of a title <sup>[4][4]</sup>.

## History

The ISSN system was first drafted as an ISO standard in 1971 and published as **ISO 3297** in 1975 <sup>[1][1]</sup>. The ISSN International Centre (CIEPS, *Centre international d'enregistrement des publications en série*) is an intergovernmental body based in Paris and set up by UNESCO and the French government <sup>[1][1]</sup><sup>[6][6]</sup>. Sources give different founding dates. Wikipedia says the Centre was created in 1974 by a UNESCO–France agreement <sup>[1][1]</sup>. Béquet's 2019 history of the Centre says its creation in 1975 was "supported by Unesco and France" <sup>[6][6]</sup>. From the start, the system has worked through a network of ISSN national centres hosted in national libraries and scientific institutions, and the network grew after the political changes in Europe in the 1990s <sup>[6][6]</sup>.

ISO 3297:2007 added the **linking ISSN (ISSN-L)**, which groups the different media versions of one continuing resource <sup>[1][1]</sup>. By the end of 2016 the ISSN Register held 1,943,572 records <sup>[1][1]</sup>.

The barcode convention joins this bibliographic identifier with the GS1 (formerly EAN) retail numbering system. GS1, based in Brussels, manages the GTIN-13 internationally <sup>[2][2]</sup>. In the UK, the Professional Publishers Association (PPA) Technical Services Panel, the Association of Newspaper & Magazine Wholesalers (ANMW) and GS1 UK released an updated version of their magazine barcoding guidelines in July 2008 <sup>[4][4]</sup>. The current edition is dated January 2019 <sup>[4][4]</sup>. In Croatia, the ISSN office at the National and University Library in Zagreb and GS1 Croatia published joint guidance for publishers <sup>[7][7]</sup>.

## Technical specification

**The ISSN itself.** An ISSN has 8 digits, written as two groups of four separated by a hyphen. The eighth digit is a check digit calculated with a **modulus 11** algorithm over the seven preceding digits. When the result is 10, the check digit is written as **X** <sup>[1][1]</sup><sup>[3][3]</sup>. The ISSN is "a digital code without any intrinsic meaning". It says nothing about the origin or content of the publication <sup>[3][3]</sup>.

**The GTIN-13 / EAN-13 structure** <sup>[2][2]</sup><sup>[4][4]</sup>:

| Digits | Field | Content |
|---|---|---|
| 1–3 | GS1 prefix | `977`, reserved for serial publications |
| 4–10 | ISSN component | First 7 digits of the ISSN. The ISSN check digit is dropped because the EAN-13 has its own |
| 11–12 | Sequence variant | Publisher-defined, e.g. price changes |
| 13 | Check digit | Standard GS1 modulo-10 check digit |
| 14–15 | Add-on (optional) | 2-digit issue number, encoded as a separate EAN-2 supplement |

The ISSN International Centre says the GTIN-13 "can be completed by a 2 or 5-digit add-on that usually indicates the issue number" <sup>[2][2]</sup>. The Croatian guidance notes that GS1 recommendations define the structure of the 2-digit add-on, while the 5-digit add-on was left to national organisations <sup>[7][7]</sup>. The BWIPP reference says 5-digit add-ons are not typically used with ISSN <sup>[8][8]</sup>.

**Sequence variant rules (UK newstrade).** A new magazine starts at `00`. The value goes up by `01` for every price change, whether the price rises or falls. The actual price does not appear anywhere in the barcode. One-off special-price issues start at `99` and count down (`98`, `97`, …) <sup>[4][4]</sup>. Any change to digits 11–12 means the check digit has to be recalculated <sup>[4][4]</sup>. For daily newspapers, the GS1/ISSN-agreed pattern is `977 SSSSSSS P D C WW`, where `P` is the price digit, `D` is the day of the week (1 = Monday … 7 = Sunday) and `WW` is the ISO week number carried in the add-on. Weekly newspapers use `977 SSSSSSS PP C WW` <sup>[4][4]</sup>.

**Issue add-on numbering (UK)** <sup>[4][4]</sup>:
- Weekly, fortnightly, three-weekly and four-weekly titles use the ISO week number of the cover date (01–53).
- Monthly titles use the cover month (01–12). An extra special issue adds 20 to the month number.
- Bi-monthly titles use the first month on the cover (June/July = `06`).
- Partworks and other numbered serials use the last two digits of the issue number (issue 109 = `09`).
- Titles that fit none of these patterns start at `01` and add 1 per issue within a 12-month period.

**Worked example.** ISSN `0317-8471` gives the EAN-13 `977` + `0317847` + `00` + check `1` = **9770317847001**. The playground renders this with Barcode Writer in Pure PostScript (BWIPP), through bwip-js, using the `issn` encoder. That encoder takes input of the form `XXXX-XXXX VV [AA]`: the seven- or eight-digit ISSN with its dash, a 2-digit sequence variant and an optional add-on. If the ISSN check digit is supplied, the encoder verifies it. If it is left out, the encoder calculates it <sup>[8][8]</sup><sup>[9][9]</sup>. A Croatian example from the national ISSN office is ISSN 1330-2787, which becomes **9771330278001** <sup>[7][7]</sup>.

**Print specifications (UK minimums).** The guidance recommends 100% magnification. 80% is accepted on coated paper, with truncation of up to 50%, while uncoated or newsprint stock needs 90% and no truncation. Bars must be 100% black on white, with a leading `9` and a trailing `>` chevron marking the light margins <sup>[4][4]</sup>. Preferred placement is the bottom-left of the front cover, at least 10 mm from any cut or fold <sup>[4][4]</sup>.

## Use cases

- **Consumer magazines.** Every issue carries an EAN 13+2 so that retail EPoS, sales-based replenishment and wholesaler returns scanning can tell issues apart <sup>[4][4]</sup>.
- **Daily and weekly newspapers.** These use a GS1/ISSN-agreed variant in which digit 12 carries the weekday and the add-on carries the ISO week <sup>[4][4]</sup>.
- **Partworks and collectables.** UK partworks are an exception to the rule against giving ISSNs to finite publications. Test-market partworks use prefix `999` in place of `977` <sup>[4][4]</sup>.
- **Scholarly and other serials.** The underlying ISSN identifies journals, annual publications, websites, databases and blogs, in print or electronic form <sup>[3][3]</sup>.
- **National deployments.** In Croatia, the national ISSN office and GS1 Croatia jointly recommend the ISSN-based barcode for serials instead of a manufacturer GTIN <sup>[7][7]</sup>.

## Implementations

| Repo | Language | Kind | Stars | Last active | Notes |
|---|---|---|---|---|---|
| [metafloor/bwip-js](https://github.com/metafloor/bwip-js) | JavaScript | encoder | 2,420 | 2026-08 | JS port of BWIPP. Has a dedicated `issn` bcid, used by the Barcoder playground <sup>[9][9]</sup> |
| [bwipp/postscriptbarcode](https://github.com/bwipp/postscriptbarcode) | PostScript | encoder | 504 | 2026-10 | Upstream BWIPP. ISSN encoder with sequence variant, add-on and ISSN check-digit verification <sup>[8][8]</sup><sup>[13][13]</sup> |
| [zint/zint](https://github.com/zint/zint) | C | encoder | 810 | 2026-10 | General-purpose C barcode encoding library <sup>[10][10]</sup> |
| [zxing/zxing](https://github.com/zxing/zxing) | Java | decoder | 34,114 | 2026-09 | Reads EAN-13 and "UPC/EAN Extension 2/5". The project is in maintenance mode <sup>[11][11]</sup> |
| [zxing-cpp/zxing-cpp](https://github.com/zxing-cpp/zxing-cpp) | C++ | decoder | 2,039 | 2026-09 | Lists EAN-13, EAN-2 and EAN-5 among its EAN/UPC formats <sup>[12][12]</sup> |

Decoders read an ISSN barcode as a plain 977-prefixed EAN-13, plus an add-on if there is one. Getting the ISSN back means taking digits 4–10 and recomputing the mod-11 check digit <sup>[2][2]</sup><sup>[1][1]</sup>.

## Comparison

- **ISSN vs [Bookland EAN (ISBN)](https://docs.barcoder.ai/docs/standards/bookland-ean) (ISBN).** Both put a bibliographic identifier inside an EAN-13. Books use prefixes `978` and `979`, allocated through the International ISBN Agency <sup>[5][5]</sup>. Serials use `977` <sup>[1][1]</sup><sup>[5][5]</sup>. Books are one-off products, so they do not carry the 2-digit issue add-on, although publishers may add a 5-digit add-on <sup>[4][4]</sup>. Use an ISSN barcode for a continuing title with recurring issues. Use an ISBN barcode for a monograph or a one-shot special: the UK guidance says one-off magazine specials should not be given an ISSN <sup>[4][4]</sup>.
- **ISSN vs [ISMN](https://docs.barcoder.ai/docs/standards/ismn).** Printed music uses `979-0` in place of a serial prefix <sup>[5][5]</sup>.
- **ISSN barcode vs a manufacturer GTIN.** A title could carry a company-prefix [EAN-13](https://docs.barcoder.ai/docs/standards/ean-13). Encoding the ISSN instead registers the publication in the ISSN Register and labels it for retail under GS1 rules in a single step <sup>[7][7]</sup>.

## Fun facts

- The barcode deliberately drops the ISSN's own mod-11 check digit, so the `X` check character never appears in the bars. The EAN-13's mod-10 check digit takes over that job <sup>[4][4]</sup>.
- The PPA guide shows a real price change. When *Good Housekeeping* went from £2.80 to £2.90 with its May 2010 issue, its barcode changed from `9770017208 17 1 04` to `9770017208 18 8 05`: the sequence variant went up by one, the check digit was recalculated and the issue add-on moved to the new month <sup>[4][4]</sup>.
- Under UK rules, a Christmas special cover-dated December gets add-on `32`, because special issues add 20 to the month number <sup>[4][4]</sup>.

## Status

**Active.** The ISSN International Centre still documents the 977 GTIN-13 structure for serials <sup>[2][2]</sup>. Current open-source encoders (bwip-js, BWIPP, zint) and decoders (ZXing, zxing-cpp) were all maintained in 2026 <sup>[9][9]</sup><sup>[10][10]</sup><sup>[11][11]</sup><sup>[12][12]</sup><sup>[13][13]</sup>. No successor symbology has been named for periodicals. The barcode is defined as an application of GS1 EAN-13 <sup>[2][2]</sup>.

## Sources

[1] [International Standard Serial Number](https://en.wikipedia.org/wiki/International_Standard_Serial_Number) — Wikipedia, accessed 2026.
[2] [International Identifier for serials — GTIN-13 barcode](https://www.issn.org/?p=1287) — ISSN International Centre, accessed 2026.
[3] [What is an ISSN?](https://www.issn.org/understanding-the-issn/what-is-an-issn/) — ISSN International Centre, accessed 2026.
[4] [Best Practice for Bar Coding and Issue Numbering of Magazines, Partworks, Collectables and Promotional Vouchers (updated January 2019)](https://ppa.co.uk/wp-content/uploads/2022/08/PPA_Best_Practice_for_Bar_Code_Guidelines.pdf) — PPA / ANMW, accessed 2026.
[5] [Publishing (ISSN, ISBN, ISMN)](https://barcodeguide.seagullscientific.com/Content/Ind_Publishing.htm) — Seagull Scientific Barcode Guide, accessed 2026.
[6] [Serials diplomacy at the ISSN International Centre: a unique and sustainable experience (1975–2015)](https://revista.ibict.br/ciinf/article/view/4435) — G. Béquet, *Ciência da Informação*, 2019, accessed 2026.
[7] [Korištenje crtičnog koda za označavanje serijskih publikacija](https://nsk.hr/wp-content/uploads/2024/06/ISSN-EAN-1.doc) — ISSN ured za Hrvatsku (NSK) / GS1 Croatia, accessed 2026.
[8] [ISSN — BWIPP wiki](https://github.com/bwipp/postscriptbarcode/wiki/ISSN) — Barcode Writer in Pure PostScript, accessed 2026.
[9] [metafloor/bwip-js](https://github.com/metafloor/bwip-js) — GitHub, accessed 2026.
[10] [zint/zint](https://github.com/zint/zint) — GitHub, accessed 2026.
[11] [zxing/zxing](https://github.com/zxing/zxing) — GitHub, accessed 2026.
[12] [zxing-cpp/zxing-cpp](https://github.com/zxing-cpp/zxing-cpp) — GitHub, accessed 2026.
[13] [bwipp/postscriptbarcode](https://github.com/bwipp/postscriptbarcode) — GitHub, accessed 2026.

[1]: https://en.wikipedia.org/wiki/International_Standard_Serial_Number
[2]: https://www.issn.org/?p=1287
[3]: https://www.issn.org/understanding-the-issn/what-is-an-issn/
[4]: https://ppa.co.uk/wp-content/uploads/2022/08/PPA_Best_Practice_for_Bar_Code_Guidelines.pdf
[5]: https://barcodeguide.seagullscientific.com/Content/Ind_Publishing.htm
[6]: https://revista.ibict.br/ciinf/article/view/4435
[7]: https://nsk.hr/wp-content/uploads/2024/06/ISSN-EAN-1.doc
[8]: https://github.com/bwipp/postscriptbarcode/wiki/ISSN
[9]: https://github.com/metafloor/bwip-js
[10]: https://github.com/zint/zint
[11]: https://github.com/zxing/zxing
[12]: https://github.com/zxing-cpp/zxing-cpp
[13]: https://github.com/bwipp/postscriptbarcode

## Deployments

_No country reports mention this standard by name._

## Regions / aggregations not mapped to a single country

- Universal
