# KIX

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

Specifications:
- [RM4SCC (KIX variant section) — Wikipedia](https://en.wikipedia.org/wiki/RM4SCC)
- [KIX Code — Dynamsoft Barcode Reader SDK](https://www.dynamsoft.com/barcode-reader/barcode-types/kixcode/)

## Overview

**KIX** (Dutch **Klant index**, "customer index") is a four-state postal barcode used by **PostNL** (formerly TPG Post / Royal TPG Post), the national postal service of the Netherlands <sup>[1][1], [2][2]</sup>. It is a **slightly modified variant of Royal Mail's [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc)**: KIX keeps the same four-state bar alphabet but **omits the start bar, stop bar and checksum** that RM4SCC uses <sup>[1][1]</sup>. KIX encodes a Dutch delivery address — **postal code plus house number and optional addition** — and is printed below the address block <sup>[1][1], [2][2]</sup>.

## History

KIX was introduced by the Dutch postal operator (then TPG Post / Royal TPG Post, now **PostNL**) as a national adaptation of Royal Mail's [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc) customer barcode for automated sorting of bulk mail <sup>[1][1], [2][2]</sup>. (A precise public introduction date was not established from the sources consulted.)

## Technical specification

**Four-state bar structure.** KIX uses the same four bar states as [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc) <sup>[2][2]</sup>:

- **Tracker** (short, middle band).
- **Ascender** (tracker + upward extension).
- **Descender** (tracker + downward extension).
- **Full** (ascender + descender).

**Character set.** Digits **0–9** and uppercase letters **A–Z** <sup>[2][2], [5][5]</sup>.

**Encoded data.** A KIX symbol typically encodes a **Dutch postal code (four digits + two letters), a house number and an optional house-number addition** <sup>[2][2]</sup>. The house number and any suffix are **separated by the letter `X`** <sup>[1][1]</sup>.

**Differences from RM4SCC.** KIX deliberately strips three RM4SCC features <sup>[1][1], [5][5]</sup>:

- **No start/stop bars** — KIX has no special framing bars.
- **No checksum** — KIX omits the modulo-6 check character.

Because KIX has neither framing nor a check digit, it relies on the surrounding application context (fixed field layout, the address block above it) for reliable reading. KIX requires a quiet zone of at least **2 mm** on all sides and is printed at roughly **20–24 bars per 25.4 mm** [[5-scandit]].

## Use cases

- Automated sorting and routing of Dutch bulk mail by PostNL <sup>[2][2], [5][5]</sup>.
- Encoding postal code + house number + addition beneath the printed address to enable machine sorting to the delivery point <sup>[1][1], [2][2]</sup>.

## Implementations

- **OkapiBarcode** — Java, ~394 stars, active 2025; supports the Dutch Post KIX Code (noted as RM4SCC without the check digit) [[3-okapi]].
- **jkctech/ManualKIX** — Python, small project; a **manual KIX decoder** for Dutch post / PostNL barcodes [[3-manualkix]].
- **antonscheffer/as_barcode** — PL/SQL, ~27 stars; generates KIX alongside RM4SCC and Australia Post 4-State [[3-asbar]].
- **productdevbook/etiket** — TypeScript, ~409 stars, active 2026; zero-dependency four-state engine covering KIX, RM4SCC, Australia Post and Japan Post [[3-etiket]].

## Comparison

KIX is the **clearest example of the four-state lineage simplifying [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc)**. It uses the identical four bar states and the same 0–9 / A–Z alphabet, but throws away RM4SCC's start bar, stop bar and checksum, and adopts the `X`-separator convention for house number and suffix <sup>[1][1]</sup>. This makes KIX the **leanest** member of the family: where the [Australia Post 4-State](https://docs.barcoder.ai/docs/standards/australia-post-4-state) and [Mailmark](https://docs.barcoder.ai/docs/standards/mailmark) 4-state codes *add* a Format Control Code / data fields and Reed–Solomon error correction, and the [Japan Post 4-State](https://docs.barcoder.ai/docs/standards/japan-post-4-state) code adds control characters and a check digit, KIX *removes* structure. By contrast, Singapore Post uses RM4SCC entirely unaltered <sup>[1][1]</sup>.

## Fun facts

- KIX has **no checksum at all** — a rare choice among postal barcodes — so a misread bar cannot be self-detected by the symbol; reliability comes from the fixed address-form context in which it is printed <sup>[1][1]</sup>.
- The house number and any suffix are joined with a literal **`X`** (e.g. encoding `123` + `A` as `123XA`), a quirk specific to KIX among the four-state codes <sup>[1][1]</sup>.

## Status

**In use.** KIX remains PostNL's four-state customer barcode for Dutch mail automation and is supported by mainstream barcode SDKs and open-source libraries <sup>[2][2], [5][5]</sup>.

## Sources

[1] [RM4SCC (KIX variant section) — Wikipedia](https://en.wikipedia.org/wiki/RM4SCC) — Wikipedia
[2] [KIX Code — Dynamsoft Barcode Reader SDK](https://www.dynamsoft.com/barcode-reader/barcode-types/kixcode/) — Dynamsoft
[3] [OkapiBarcode](https://github.com/woo-j/OkapiBarcode) — GitHub (woo-j)
[4] [ManualKIX — Manual KIX decoder for Dutch post / PostNL](https://github.com/jkctech/ManualKIX) — GitHub (jkctech)
[5] [KIX 4-State Customer Code — Barcode Guide](https://barcodeguide.seagullscientific.com/Content/Symbologies/KIX_4_State_Customer_Code.htm) — Seagull Scientific
[6] [KIX Barcode Symbology](https://www.scandit.com/products/barcode-scanning/symbologies/kix/) — Scandit

[3-okapi]: https://github.com/woo-j/OkapiBarcode
[3-manualkix]: https://github.com/jkctech/ManualKIX
[3-asbar]: https://github.com/antonscheffer/as_barcode
[3-etiket]: https://github.com/productdevbook/etiket
[5-scandit]: https://www.scandit.com/products/barcode-scanning/symbologies/kix/

[1]: https://en.wikipedia.org/wiki/RM4SCC
[2]: https://www.dynamsoft.com/barcode-reader/barcode-types/kixcode/
[3]: https://github.com/woo-j/OkapiBarcode
[4]: https://github.com/jkctech/ManualKIX
[5]: https://barcodeguide.seagullscientific.com/Content/Symbologies/KIX_4_State_Customer_Code.htm
[6]: https://www.scandit.com/products/barcode-scanning/symbologies/kix/

## Deployments

_No country reports mention this standard by name._
