Skip to content
barcoder

Standards/pharmacode

Pharmacode

Type1D Binary
Completeness83%high

Overview

Pharmacode, also called the Pharmaceutical Binary Code or Laetus code, is a barcode standard used in the pharmaceutical industry as a packing-control system, designed to remain readable despite printing errors [3]. It encodes a single integer value as a sequence of alternating dark and light bars of two widths — narrow and wide — with no start/stop characters, no check digit and no human-readable text in the symbol itself [1] [2]. It is read from right to left; scanning left to right yields a different value because of the binary nature of the encoding [2].

History

Pharmacode was developed by the German company Laetus, and the standard is formally known as the Laetus PHARMA-CODE [2] [3]. Laetus describes PHARMA-CODE as "older than UPC," having been used to prevent product intermixture in pharmaceutical packaging for "over 50 years" [2]. Its purpose is closed-loop, in-house packaging verification rather than retail identification: the code "matches and validates all of the component parts of a package to ensure that the right product, with all of its required documentation, goes into the right package" [2].

Technical specification

  • Encoding. Data is encoded in binary rather than decimal, using two bar widths: narrow and wide. Each narrow bar contributes 2^n and each wide bar contributes 2 × 2^n, where n is the bar's position [3].
  • Value range. Pharmacode represents a single integer from 3 to 131,070. The minimum (3) is two narrow bars; the maximum (131,070) is sixteen wide bars [1] [3].
  • Bar count. Between 2 and 16 bars [1] [3]. For reliability, best practice is to always use at least three bars and to mix both thick and thin bars [3].
  • No check digit. PHARMA-CODE includes no check digit [1].
  • No start/stop characters. The symbol carries no start or stop pattern; the guide lists only an optional start bar and optional end bar [1] [2].
  • Scan direction. Read right to left; left-to-right scanning produces a different result [2].
  • Quiet zone. A quiet zone of 6 mm is required on either side of the symbol [1].
  • Colour and robustness. PHARMA-CODE can be printed in a range of colours so that colour-coded package inserts can themselves be verified, and the symbology is deliberately tolerant of printing imperfections [2] [3].
  • Decoding. When a camera reads the binary pattern, a PHARMA-CODE decoder must be integrated to translate the binary value into a numeric format [2].

Use cases

PHARMA-CODE is used for in-house inventory control and packaging security verification, ensuring that packaging materials and contents match and are correct [1]. It is typically printed on an inside flap of the pharmaceutical package and is not visible at point of sale, which is acceptable because it is a closed-loop control code rather than a retail identifier [2]. Laetus positions it as a cost-effective alternative to HIBC/GS1 codes for internal control because using the symbology carries no licensing cost [2].

Implementations

Comparison

Pharmacode (one-track) and Two-Track Pharmacode are both Laetus packaging-control symbologies, but the one-track variant uses two bar widths to encode a single value from 3 to 131,070 [1], whereas the two-track variant uses two bar heights across two vertical tracks to extend the range up to 64,570,080 [4]. Both lack a check digit and require a 6 mm quiet zone [1] [4]. Unlike Code 32 (Italian Pharmacode) and PZN, which are Code 39 derivatives carrying nationally administered drug numbers, Pharmacode is a self-contained binary code with no national registry and no human-readable interpretation in the symbol.

Fun facts

  • Because the code is read right to left and is pure binary, the same physical symbol scanned in the opposite direction decodes to a different, valid-looking number — a property that makes scan-direction handling a deliberate part of any decoder [2].
  • Laetus claims PHARMA-CODE predates the UPC and has been in continuous pharmaceutical use for more than half a century [2].

Status

Pharmacode remains in active, widespread use as a closed-loop packaging-control and print-verification code in pharmaceutical manufacturing, and is supported by current barcode tooling including JsBarcode (release v3.12.3, January 2026) [1]. It is complementary to, rather than competing with, the retail and serialization codes (GS1 DataMatrix, etc.) printed on the outside of packages.

Sources

1 PHARMA-CODE - One-Track - BarTender Barcode Guide — Seagull Scientific, accessed 2026 2 PHARMA-CODE Series #1: Introduction to Laetus PHARMA-CODE — Laetus GmbH 3 Pharmacode — Wikipedia, accessed 2026 4 PHARMA-CODE - Two-Track - BarTender Barcode Guide — Seagull Scientific, accessed 2026

Deployments

No country reports mention this standard by name.

Regions / aggregations not mapped to a single country

  • Universal
source · docs/standards/pharmacode/index.md