# Japan Post 4-State

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

Specifications:
- [Japanese Post 4-State Customer Code — Barcode Guide](https://barcodeguide.seagullscientific.com/Content/Symbologies/Japanese_Postal.htm)
- [Japan Post 4-state Barcode — Neodynamic](https://www.neodynamic.com/barcodes/Japan-Post-4-state-Barcode.aspx)

## Overview

The **Japan Post Customer Barcode** (Japanese Post 4-State Customer Code, JP4SCC; sometimes called the **"Kasutama" barcode**) is a height-modulated, four-state barcode used by Japan Post for automated mail sorting <sup>[1][1], [2][2]</sup>. Like the other members of the four-state family it descends from Royal Mail's [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc), encoding data through bar height/position rather than width <sup>[2][2]</sup>. It encodes a **7-digit postal code plus up to 13 characters of address-indicator data**, supporting digits, uppercase letters and hyphens <sup>[1][1], [2][2]</sup>.

## History

Japan Post's customer barcode follows the four-state, height-modulated pattern pioneered by Royal Mail's [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc) and adopted by several national posts for automated address sorting <sup>[2][2]</sup>. (A precise public adoption date was not established from the sources consulted.)

## Technical specification

**Four-state bar structure.** Each character is built from bars in four states, conventionally valued <sup>[1][1]</sup>:

- **Long bar (full height)** — value 1.
- **Semi-long bar, upward (ascender)** — value 2.
- **Semi-long bar, downward (descender)** — value 3.
- **Timing bar (tracker)** — value 4.

**Symbol layout** <sup>[1][1], [2][2]</sup>:

1. **Start bars** — values **1, 3**.
2. **Postal code** — **7 characters (21 bars)**; a hyphen in the printed code (e.g. `108-0075`) is for display only and is not encoded.
3. **Address indication number** — up to **13 characters (39 bars)**, padded with filler characters if shorter.
4. **Check digit** — **3 bars**, immediately before the stop bars.
5. **Stop bars** — values **3, 1**.

**Character set and control codes.** The symbology represents digits 0–9, uppercase A–Z and hyphen. Because each letter cannot be a single base symbol, letters are encoded with **control characters**: **CC1** prefixes letters **A–J**, **CC2** prefixes **K–T**, and **CC3** prefixes **U–Z**. Additional control codes (e.g. **CC4** for normal priority and **CC7** for highest priority, plus fillers) round out the set <sup>[1][1]</sup>.

**Check digit.** A check character occupies the 3 bars before the stop bars and is used to validate the symbol <sup>[1][1], [2][2]</sup>.

**Placement.** The barcode must sit no less than **10 mm** from the top or side edges and **15 mm** from the bottom edge of the mail piece, with inclination held within about **5 degrees** <sup>[1][1], [2][2]</sup>.

## Use cases

- Automated sorting of Japanese mail by postal code and address indicator <sup>[2][2]</sup>.
- Encoding a 7-digit postal code (introduced in the Japanese postal system) plus an address-detail string so sorting machines can route to a finer destination <sup>[1][1], [2][2]</sup>.

## Implementations

- **OkapiBarcode** — Java, ~394 stars, active 2025; supports Japan Post among its postal symbologies [[3-okapi]].
- **productdevbook/etiket** — TypeScript, ~409 stars, active 2026; zero-dependency four-state engine covering Japan Post, RM4SCC, KIX and Australia Post [[3-etiket]].

## Comparison

The Japan Post code is a **four-state descendant of [RM4SCC](https://docs.barcoder.ai/docs/standards/rm4scc)** <sup>[2][2]</sup>, but it makes two distinctive design choices. First, it uses an **explicit control-character scheme (CC1/CC2/CC3 …)** to shift between letter ranges and to flag priority, rather than encoding each letter as its own self-contained character as RM4SCC does <sup>[1][1]</sup>. Second, its bar-state numbering and start/stop values (start `1,3`, stop `3,1`) differ from those of RM4SCC and the [Australia Post 4-State](https://docs.barcoder.ai/docs/standards/australia-post-4-state) code <sup>[1][1]</sup>. It is simpler than the Australia Post and [Mailmark](https://docs.barcoder.ai/docs/standards/mailmark) variants in that it relies on a short **check digit** rather than full Reed–Solomon error correction, while still retaining a checksum — unlike the Dutch [KIX](https://docs.barcoder.ai/docs/standards/kix), which drops start/stop bars and the checksum altogether.

## Fun facts

- Letters are not encoded directly: an A–Z character is represented by a **control code plus a digit**, so a single visible letter consumes more than one barcode character <sup>[1][1]</sup>.
- The symbology carries the nickname **"Kasutama" barcode** in some references — a transliteration of the Japanese word for "customer" <sup>[2][2]</sup>.

## Status

**In use.** The Japan Post Customer Barcode remains a documented and supported four-state postal symbology for Japanese mail automation, with implementation parameters published by multiple barcode SDK vendors <sup>[1][1], [2][2]</sup>.

## Sources

[1] [Japanese Post 4-State Customer Code — Barcode Guide](https://barcodeguide.seagullscientific.com/Content/Symbologies/Japanese_Postal.htm) — Seagull Scientific
[2] [Japan Post 4-state Barcode](https://www.neodynamic.com/barcodes/Japan-Post-4-state-Barcode.aspx) — Neodynamic
[3] [OkapiBarcode](https://github.com/woo-j/OkapiBarcode) — GitHub (woo-j)
[4] [Postal Barcodes overview](https://www.compart.com/en/postal-barcodes) — Compart
[5] [Japan Post 4-State Customer Code — overview](https://www.onlinetoolcenter.com/blog/What-is-Japan-Post-4-State-Customer-Code-and-How-to-Generate-it-Step-by-Step.html) — Online Tool Center

[3-okapi]: https://github.com/woo-j/OkapiBarcode
[3-etiket]: https://github.com/productdevbook/etiket

[1]: https://barcodeguide.seagullscientific.com/Content/Symbologies/Japanese_Postal.htm
[2]: https://www.neodynamic.com/barcodes/Japan-Post-4-state-Barcode.aspx
[3]: https://github.com/woo-j/OkapiBarcode
[4]: https://www.compart.com/en/postal-barcodes
[5]: https://www.onlinetoolcenter.com/blog/What-is-Japan-Post-4-State-Customer-Code-and-How-to-Generate-it-Step-by-Step.html

## Deployments

_No country reports mention this standard by name._
