- 宛名を隠しても、バーコードから郵便番号と住所表示番号が読めます。
- 1文字だけ隠しても、チェックデジットで戻ります。
- 隠すなら、バーコード全体を不透明に塗ります。
1. なぜ消すのか
宛名を隠しても、近くのカスタマバーコードから郵便番号と住所表示番号が読めます。横書きでは原則として宛先の氏名の直下に印字します(p13)。
図のバーコードから読める内容は100-0013/1-3-2-503です(p17の公式例)。印字できる範囲は郵便物の表面の広い範囲に及び、向きも2通りあります(p13)。
2. どの郵便物に付いているか
バーコードは、郵便物を差し出すための必要条件ではありません。付いていることの多い郵便物と、利用の条件になっている郵便物を区別します。
| 郵便物 | 付き方と条件 |
|---|---|
| 企業が大量に出すDM・請求書 | バーコード割引。同時に1,000通以上で1% |
| 料金受取人払の返信封筒・はがき | 第一種定形郵便物と第二種郵便物では、印字が利用の条件 |
| 個人が切手を貼って出す郵便物 | 原則として付かない(公式の文言からの推論) |
3. 4つの形と3本で1文字
バーの太さや間隔ではなく、縦の延び方で読みます。1文字は3本で、4³=64通りのうち19通りを使います。図は模式図です。セミロングバーの長さの比4は推測値で、解読には使いません。
4. 67本の構成
スタート2本+郵便番号21本+住所表示番号39本+チェックデジット(CD)3本+ストップ2本=67本です。郵便番号内のハイフンと、郵便番号と住所表示番号の間の区切りは符号に入れません。住所表示番号の中のハイフンは、符号の「-」(チェック用数字10)として入ります。
5. 英字は2文字分
A〜JはCC1、K〜TはCC2、U〜ZはCC3に、英字の序数を10で割った余りの数字を続けます。Aを0とするので、B604はCC1 1 6 0 4となり、英字Bだけで2文字分を使います。
6. CC4と13けた・20けた
住所表示番号は英字を展開して13文字にそろえ、足りない分をCC4で埋めます。郵便番号と合わせて20文字を超えた分は切り捨てます。20文字目が英字の制御コードなら、その制御コードだけを残します。
| 郵便番号 | 符号の中身 |
|---|---|
| 100-0013 | 1-3-2-503とCC4×4 |
| 064-0804 | 29-1524-23-2-(末尾はハイフン) |
| 910-0067 | 3-80-25J1-2の後にCC1。最後の英字はA〜Jのどれか決まらない |
7. チェックデジット
チェック用数字は0〜9が0〜9、ハイフンが10、CC1〜CC8が11〜18です。21文字の合計が19の倍数になるようにCDを決めます。20文字の合計をSとすると、CD=(19−(S mod 19)) mod 19です。
霞が関の例(100-0013/1-3-2-503)は合計105からCD 9、個別番号の例(100-8792)は合計209からCD 0になります。19種が0〜18に1対1で対応するため、読めない1文字は計算で戻ります。ほかの文字が正しく読めていることが前提です。
ほかの文字がすべて読めていれば、1本の読み誤りは必ず検出できますが、訂正はできません。Day102 QRCrashTestで扱うQRコードの誤り訂正との違いです。読めない文字があると、ほかの文字の読み誤りを検出できないことがあります。
8. 住所表示番号の抜き出し規則
郵便番号に対応する住所Aを除いた住所Bから、住所表示番号を抜き出します(p18・p19)。基本ルール6つと補足ルール5つを、次の順に適用します。正規化は本ツールの処理で、公式の規定ではありません。
正規化には副作用があります。丸数字の①は1に、ローマ数字のⅡはIIになります。IIは英字2文字なので抜き出しません。
| 規則 | 処理 |
|---|---|
| 正規化(独自処理) | 1文字ずつNFKCで正規化し、ハイフンに似た文字をハイフンにする |
| 基本1 | 英小文字を大文字にする |
| 基本2 | 「&」「/」「・」「.」を取り除いて詰める |
| 補足1 | 丁目・丁・番地・番・号・地割・線・の・ノの直前の漢数字を算用数字にする |
| 基本3・4、補足2・3 | 数字、ハイフン、前後が英字でない英字1文字を残す。ただし数字の直後の単独のFを除く。残す文字の前の不要な連なりをハイフン1文字にし、末尾の不要な連なりを除く |
| 基本5 | 続いたハイフンを1つにする |
| 基本6 | 先頭のハイフンを除く。末尾のハイフンは残す |
| 補足4・5 | 英字の直前と直後のハイフンを除く。英字が続いても残す |
9. 何が読めて何が読めないか
| 読めるもの | 読めないもの |
|---|---|
| 郵便番号。町域、超高層ビルの階、個別番号なら1つの事業所や私書箱 | 氏名・建物名 |
| 丁目・番・号・部屋番号の数字、英字1文字 | 数字が丁目・番・号のどれに当たるか、20文字を超えた部分 |
郵便番号は日本郵便の郵便番号検索などで誰でも町域まで引けます。このツールが地名を出さなくても、特定する手間は小さいといえます。
| 特殊番号 | 読み方 |
|---|---|
| 大口事業所・私書箱の個別番号 | 住所表示番号をCC4で埋める |
| 私書箱の包括番号 | ***-8691・***-**91と私書箱番号 |
| 料金受取人払の包括番号 | ***-8790・***-**90と整理番号。返信先の番号で、返送する人の住所ではない |
ほかの番号を使う地域もあります。
2026年9月30日版の郵便番号データを数えた値では、階ごとの番号を持つビルが86棟・3,437行、複数の町域を持つ番号が1,339件、代表番号(p18)が1,870件あります。
10. 隠し方の作法
バーコード全体をスタートからストップまで、不透明な単色で塗りつぶします。別のファイルへ書き出し、そのファイルを自分で開き直して確認してください。EXIFの位置情報はDay007で確かめられます。
| 隠し方 | 残るもの |
|---|---|
| 半透明のペン | 下のバーの形が透ける |
| モザイク・ぼかし | 元の情報から計算した値 |
| 一部だけを塗る | 残った形と、チェックデジットから戻る文字 |
| 全体を不透明な単色で塗る | 画像上にバーの形は残らない。書き出した別ファイルで確かめる |
| トリミングして上書き | 元画像のデータが残る場合がある |
モザイクとぼかしは元の情報の関数です。テキストの復元例にDepix、識別の研究にMcPhersonら(2016)があります。1文字の形が19種類なので照合で戻されやすいと考えられますが、これは推測で、バーコードでの実験は今後の候補です。
トリミングの上書き保存で元画像が残った例がaCropalypse(CVE-2023-21036・CVE-2023-28303)です。見た目だけで安全と判断せず、書き出した別ファイルを確認します。
11. このツールで読めないもの
| 種類 | 扱い |
|---|---|
| 局内バーコード・IDバーコード | 区分機が透明インクで印字。本ツールでは読めない。写真に写るかと符号の仕様は未確認 |
| 宅配便の伝票のコード・追跡番号 | 本ツールでは読めない |
| 米国IMb・英国RM4SCC | 同じ4ステイト(4状態)の系統だが対応表が異なる |
郵便物の写真や別の符号を確かめるには、次の関連ツールも使えます。
Day007 画像Exifチェッカー:写真に埋め込まれた位置情報などを確かめて消す。PostMirrorは写っているバーコードという別の経路を扱う
Day021 ImageDiffSec:塗りつぶす前と後の画像を比べ、塗り残しを見つける
Day074 QR Risk Radar:郵便物に印刷された別の符号(QRコード)の中身を読む前に危険を判定する
12. 参照資料
- The barcode can reveal the postal code and address number even when the address label is covered.
- Covering just one character still allows it to be recovered from the check digit.
- Cover the entire barcode with an opaque fill.
1. Why cover the barcode?
Even with the name and address covered, the nearby customer barcode can reveal the postal code and address number. On mail with a horizontally written address, it is normally printed directly below the recipient’s name (p13).
The barcode in the diagram reads 100-0013 / 1-3-2-503 (the official p17 example). The permitted printing area covers a broad part of the mail’s front, with two possible orientations (p13).
2. Which mail carries a barcode?
A barcode is not a general requirement for sending mail. Some mail often carries one, while certain services require one.
| Barcode use and conditions | |
|---|---|
| Bulk direct mail and bills from companies | Barcode discount: 1% for at least 1,000 items sent at once |
| Business-reply envelopes and postcards | Required for standard-size first-class mail and second-class mail |
| Mail that individuals send with stamps | Generally absent (an inference from the official wording) |
3. Four shapes, three bars per character
Read the vertical extent of each bar, rather than its width or spacing. Three bars form one character; 19 of the 4³ = 64 patterns are used. The diagrams are schematic. The semi-long bar ratio of 4 is inferred and is not used for decoding.
4. The 67-bar structure
Start 2 + postal code 21 + address number 39 + check digit (CD) 3 + stop 2 = 67 bars. The hyphen within the postal code and the separator between the postal code and address number are omitted. Hyphens inside the address number are encoded as the symbol “-” with check value 10.
5. A letter takes two characters
A–J use CC1, K–T use CC2, and U–Z use CC3, followed by the remainder of the letter’s ordinal divided by 10. With A numbered 0, B604 becomes CC1 1 6 0 4; B alone takes two characters.
6. CC4, 13 characters and 20 characters
After expanding letters, the address number is padded to 13 characters with CC4. Characters beyond the combined 20-character postal code and address number are truncated. If character 20 is a letter’s control code, that code is kept even though the digit that follows it is dropped.
| Postal code | Encoded content |
|---|---|
| 100-0013 | 1-3-2-503 followed by four CC4 characters |
| 064-0804 | 29-1524-23-2- (a trailing hyphen) |
| 910-0067 | 3-80-25J1-2 followed by CC1; the last letter could be any of A–J |
7. The check digit
The check values are 0–9 for digits 0–9, 10 for the hyphen, and 11–18 for CC1–CC8. The CD makes the sum of all 21 characters a multiple of 19. For a 20-character sum S, CD = (19 − (S mod 19)) mod 19.
The Kasumigaseki example (100-0013 / 1-3-2-503) has a sum of 105 and CD 9; the individual postal code example (100-8792) has a sum of 209 and CD 0. Because the 19 symbols map one-to-one to 0–18, one unreadable character can be restored, assuming all other characters are read correctly.
If all other characters are readable, a single misread bar is always detected, but cannot be corrected. This differs from the QR-code error correction covered in Day102 QRCrashTest. With unreadable characters, a misread elsewhere may go undetected.
8. Extracting the address number
The address number is extracted from address B, after removing address A covered by the postal code (p18–p19). The six basic rules and five supplementary rules are applied in the following order. Normalization is this tool’s own processing, not an official rule.
Normalization has side effects: circled digit one becomes 1, and Roman numeral two becomes II. II is a two-letter sequence, so it is not extracted.
| Rule | Operation |
|---|---|
| Normalization (tool-specific) | Normalize each character with NFKC and convert hyphen-like characters to hyphens |
| Basic 1 | Convert lowercase Latin letters to uppercase |
| Basic 2 | Remove “&”, “/”, the Japanese middle dot, and the period (“.”), closing any gaps |
| Supplement 1 | Convert kanji numerals immediately before the nine specified address suffixes to Arabic digits (chome, cho, banchi, ban, go, chiwari, sen, and the two forms of no) |
| Basic 3–4; supplements 2–3 | Keep digits, hyphens and single letters with no adjacent letter, except a standalone F immediately after a digit. Replace each unwanted run before a kept character with one hyphen; drop the unwanted trailing run |
| Basic 5 | Collapse consecutive hyphens |
| Basic 6 | Remove a leading hyphen; keep a trailing hyphen |
| Supplements 4–5 | Remove hyphens directly before and after letters; retain letters that become adjacent |
9. What can and cannot be read
| Readable | Not readable |
|---|---|
| Postal code: a town area, a high-rise building floor, or one business or PO box with an individual postal code | Names of people and buildings |
| Digits for blocks, lots, buildings and rooms, and single letters | Which role each number has, and anything beyond 20 characters |
Anyone can use Japan Post’s postal code search or similar services to find the town area for a postal code. Identifying the area therefore takes little effort even though this tool does not display place names.
| Special codes | Interpretation |
|---|---|
| Individual postal codes for large businesses and PO boxes | The address-number field is padded with CC4 |
| Bulk postal codes for PO boxes | ***-8691 or ***-**91 plus the PO-box number |
| Bulk postal codes for business-reply mail | ***-8790 or ***-**90 plus a reference number. They identify the recipient, not the person sending the reply |
Some regions use other numbers.
Counts from the September 30, 2026 postal-code data are 86 buildings and 3,437 rows with floor-specific codes, 1,339 codes covering multiple town areas, and 1,870 representative codes (p18).
10. How to cover a barcode
Cover the entire barcode, from start to stop, with an opaque solid color. Save the edited image as a separate file, then reopen that file yourself to check it. Use Day007 to check location information in EXIF.
| Method | What remains |
|---|---|
| Translucent pen | Bar shapes show through |
| Mosaic or blur | Values calculated from the original information |
| Covering only part | Remaining shapes and characters restored from the check digit |
| Opaque solid color over the entire barcode | No bar shapes remain in the image. Check the separately saved file |
| Cropping and overwriting | Original image data may remain |
Mosaic and blur are functions of the original information. Depix demonstrates text restoration, and McPherson and colleagues (2016) studied identification. With only 19 character shapes, matching may make restoration easier; this is an inference, and barcode experiments are a possible future step.
aCropalypse (CVE-2023-21036 and CVE-2023-28303) is an example of original image data remaining after cropping and overwriting. Check the separately exported file instead of judging safety from appearance alone.
11. What this tool cannot decode
| Type | Treatment |
|---|---|
| Internal sorting barcodes and ID barcodes | Printed by sorting machines in transparent ink. This tool cannot decode them. Whether they appear in photos and how they are encoded have not been verified |
| Parcel-label codes and tracking numbers | This tool cannot decode them |
| US IMb and UK RM4SCC | Also in the four-state family, but with different symbol tables |
These related tools can also help you check photos of mail and other codes.
Day007 Image Exif Checker: check and remove location data embedded in a photo; PostMirror covers the barcode visible in the photo
Day021 ImageDiffSec: compare images before and after masking to find what was left
Day074 QR Risk Radar: assess a different code printed on mail (QR codes) before following the link it contains
12. References
p06: Sorting machines, transparent ink and printed examples
p10: Definitions of internal, ID and customer barcodes
p11: Four bar shapes and the character table
p12: Dimensions, structure, character counts and check values
p13: Print positions, areas and conditions
p17: Extraction overview and the Kasumigaseki example
p18: Address A/B division and representative codes
p19: Basic and supplementary rules and intermediate results
p20: Truncation at 20 characters
p21: Check-digit calculations and a printed example
p22: Codes for large businesses, PO boxes and business replies
p23: Bulk postal codes for business-reply mail, reference numbers and samples