Skip to content
barcoder

Standards/pzn

PZN

Type1D Linear
PrimaryDE
Completeness84%high

Overview

The Pharmazentralnummer (PZN) is the German identification number for the distribution and marking of medicinal products, medical devices and other pharmacy-typical products [1] [2]. It is the German tag mandated under § 300 SGB V and affixed to medicine outer packaging per § 131 SGB V [1]. The PZN is encoded as a variant of Code 39, with the number printed in clear text beneath the bars [1] [2]. It is maintained by the Informationsstelle für Arzneispezialitäten (IFA) GmbH [1] [2].

History

The PZN is administered by IFA GmbH and published in IFA's "Technische Hinweise zur PZN-Codierung" [2]. The original seven-digit form (PZN7 — six digits plus a check digit) was extended to an eight-digit form (PZN8 — seven digits plus a check digit) effective 1 January 2013, and from 1 January 2020 PZN7 numbers ceased to be valid, leaving PZN8 as the only form in use [2] [5]. Since 9 February 2019 the PZN may also be carried inside a machine-readable Data Matrix Code [1].

Technical specification

  • Encoding. The PZN is based on Code 39; it uses the Code 39 encoding but carries only digits 0–9 [1] [5].
  • Identifier and delimiters. The Code 39 start character * in combination with a minus sign - acts as the PZN identifier; the character * alone is the stop character. The last digit is the check digit [2].
  • Human-readable prefix. The clear-text PZN is shown with the prefix "PZN" (or "PZN: " / "PZN -"); when Code 39 is omitted, the PZN must appear in clear print with the prefix "PZN: " [1] [2] [5].
  • Formats. PZN7 = 6 data digits + 1 check digit; PZN8 = 7 data digits + 1 check digit [6] [5].
  • Check digit. Computed with a modulo-11 algorithm. For PZN8, the seven data digits are multiplied (left to right) by ascending weights 1, 2, 3, 4, 5, 6, 7, the products are summed, and the sum is taken modulo 11 [3]. Worked example for PZN 00078597: (0×1)+(0×2)+(0×3)+(7×4)+(8×5)+(5×6)+(9×7) = 161; 161 mod 11 = 7, matching the trailing check digit [3]. If the modulo-11 result equals 10, that PZN is not issued [3]. (For PZN7, sources commonly describe weights 2–7 over the six data digits [5].)

Use cases

The PZN provides machine-readable identification of medicinal-product packs, medical devices and other pharmacy products throughout the German pharmacy and pharmaceutical-wholesale supply chain, supporting ordering, dispensing and reimbursement processing in pharmacies and wholesalers [1] [2]. Germany is the country that mandates the PZN, under §§ 300 and 131 SGB V [1].

Implementations

Comparison

PZN and Italy's Code 32 are both Code 39-based national pharmaceutical identifiers, but they take opposite approaches to compactness and integrity. PZN encodes its digits directly in Code 39 (no base conversion) and uses a modulo-11 check digit, with a "PZN"/minus-sign prefix [1] [3]. Code 32 first converts a nine-digit AIC number to base 32 before rendering it in Code 39, uses a modulo-10 check digit, and shows a leading "A" [4]. Both are open, registry-backed identifiers (IFA vs. AIFA), in contrast to the Laetus Pharmacode family, which are closed-loop binary print-control codes with no national registry or human-readable digits.

Fun facts

  • The letters "PZN" printed in front of the number are an integral part of the human-readable PZN but are not encoded into the bars and do not need to be entered when generating the symbol [5].
  • The modulo-11 scheme deliberately leaves a gap: any candidate number whose check calculation yields 10 is simply never issued, so every valid PZN has a single-digit check character [3].

Status

PZN is in active mandatory use in Germany, now exclusively in its eight-digit PZN8 form since PZN7 was retired on 1 January 2020 [2] [5]. Alongside the Code 39 symbol, the PZN is also carried in Data Matrix codes (permitted since 9 February 2019) for EU FMD serialization [1]. PZN encoders remain supported in current tooling including Zint, bwip-js and BWIPP [2].

Sources

1 Encoding of PZN in Code 39 — IFA GmbH, accessed 2026 2 PZN - BarTender Barcode Guide — Seagull Scientific, accessed 2026 3 Pharmazentralnummer (PZN) Prüfziffer — kryptografie.de, accessed 2026 4 Code 32 (Italian Pharmacode) - BarTender Barcode Guide — Seagull Scientific, accessed 2026 5 PZN - German Pharmacy Barcode — Mobilio Development, accessed 2026 6 PZN Barcode (Pharma-Zentral-Nummer) — Neodynamic, accessed 2026

Deployments

No country reports mention this standard by name.

source · docs/standards/pzn/index.md