日本の郵便番号の仕組み

7桁構造

〒123-4567
  ↑↑↑ ↑↑↑↑
  地域+町域番号
意味
1桁目大区分(10前後の地域)
2桁目中区分(県・地域)
3桁目小区分(市町村)
4桁目配送中継局
5〜7桁目町域

主要都道府県の冒頭2桁

都道府県郵便番号冒頭
北海道00〜09
東北(青森・岩手・宮城・秋田・山形・福島)01〜02, 980〜989
東京(区部)10〜18
神奈川21〜25
千葉26〜29
埼玉33〜36
大阪53〜59
愛知44〜49
福岡80〜83
沖縄90

郵便番号を調べる方法

1. 日本郵便公式サイト

https://www.post.japanpost.jp/zipcode/ で検索可能。

  • 住所→郵便番号
  • 郵便番号→住所
  • 大口事業所の郵便番号
  • 都道府県・市区町村別検索

2. ハカドルの郵便番号検索ツール

郵便番号検索ツールはブラウザ完結・即時検索。住所から郵便番号、郵便番号から住所の双方向検索ができます。

3. Googleマップで検索

住所を入れると、地図と一緒に郵便番号も表示されます(マイナーな地名でも便利)。

4. Yahoo!郵便番号検索

https://search.post.japanpost.jp/zipcode/ も使い勝手が良い。

ZipCode API(無料・無認証)

開発者向けに無料で使える郵便番号 API があります。

ZipCloud(HeartRails Express)

GET https://zipcloud.ibsnet.co.jp/api/search?zipcode=1000001

レスポンス例:

{
  "message": null,
  "results": [
    {
      "address1": "東京都",
      "address2": "千代田区",
      "address3": "千代田",
      "kana1": "トウキョウト",
      "kana2": "チヨダク",
      "kana3": "チヨダ",
      "prefcode": "13",
      "zipcode": "1000001"
    }
  ],
  "status": 200
}

JavaScriptでの利用例

async function fetchAddress(zipcode) {
  const url = `https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zipcode}`;
  const res = await fetch(url);
  const json = await res.json();
  if (json.status === 200 && json.results) {
    const r = json.results[0];
    return `${r.address1}${r.address2}${r.address3}`;
  }
  return null;
}

// フォーム入力時に住所を自動補完
document.getElementById('zip').addEventListener('blur', async (e) => {
  const zipcode = e.target.value.replace('-', '');
  if (zipcode.length === 7) {
    const addr = await fetchAddress(zipcode);
    if (addr) {
      document.getElementById('address').value = addr;
    }
  }
});

Excel・スプレッドシートで一括変換

Googleスプレッドシート(IMPORTXML)

=IMPORTXML("https://zipcloud.ibsnet.co.jp/api/search?zipcode=" & A2, "//results/address1")

ただし大量に使うとAPIへの負荷が増えるため、自前でCSVデータを取得するのが推奨。

日本郵便公式CSV

https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html からCSVダウンロード可能。

CSV列構成(「読み仮名データの促音・拗音を小書きで表記するもの」):

内容
1全国地方公共団体コード(5桁)
2旧郵便番号(5桁)
3郵便番号(7桁)
4都道府県名(カナ)
5市区町村名(カナ)
6町域名(カナ)
7都道府県名
8市区町村名
9町域名
10〜15フラグ等

一括検索の実装例(Python)

import csv

# 公式CSVを読み込み
zip_dict = {}
with open('KEN_ALL.csv', encoding='shift_jis') as f:
    reader = csv.reader(f)
    for row in reader:
        zipcode = row[2]
        address = row[6] + row[7] + row[8]
        zip_dict[zipcode] = address

# 検索
print(zip_dict.get('1000001'))  # 東京都千代田区千代田

一括住所登録のテクニック

Excelで重複なしの郵便番号リストを作る

=UNIQUE(A:A)        // Excel 365 / Microsoft 365

郵便番号の表示形式

カスタム書式: 000-0000

これで 1000001 と入力すると 100-0001 と表示されます。

フォーム入力の自動化

ECサイトの会員登録などで「郵便番号を入れたら住所が自動入力」される機能の実装方法:

// 郵便番号入力欄のフォーカスが外れたら住所を取得
document.getElementById('zip-code').addEventListener('blur', async function() {
  const zip = this.value.replace(/[-ー‐]/g, '');
  if (!/^\d{7}$/.test(zip)) return;

  const url = `https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zip}`;
  const response = await fetch(url);
  const data = await response.json();

  if (data.status === 200 && data.results) {
    const r = data.results[0];
    document.getElementById('prefecture').value = r.address1;
    document.getElementById('city').value = r.address2;
    document.getElementById('town').value = r.address3;
    document.getElementById('street').focus();
  }
});

ライブラリ利用(jquery.zipcode)

jQuery環境では jquery.zipcode.js を使うと数行で実装可能。

大口事業所の郵便番号

企業や官公庁には専用の郵便番号が割り当てられていることがあります。

郵便番号
東京都庁163-8001
警視庁100-8929
国会議事堂100-0014
日本銀行103-0021(一般)、103-8660(本店)
楽天158-0094

請求書や郵便物が「○○支店気付」になっているときは大口の郵便番号を使うと配送が早い。

海外の郵便番号

形式
米国(ZIP)5桁 or 5+4桁90210(ビバリーヒルズ)
カナダA1A 1A1M5V 3M3(トロント)
英国(Postcode)AA1A 1AASW1A 0AA(バッキンガム宮殿)
ドイツ5桁10115(ベルリン)
フランス5桁75001(パリ1区)
中国6桁100000(北京)
韓国5桁06292(ソウル江南区)
オーストラリア4桁2000(シドニー)
シンガポール6桁178957

海外郵便を送るときの書き方

受取人名(英語)
番地 + ストリート名
City, State ZIP
COUNTRY

例:

John Smith
123 Main Street
San Francisco, CA 94105
USA

ZIP+4 形式(例: 94105-1234)にすると配送が早くなります。

郵便番号の歴史

  • 1968年: 5桁郵便番号導入
  • 1998年: 7桁郵便番号に変更
  • 現在: 約12万件の郵便番号が存在

まとめ

  • 日本の郵便番号は7桁、左から「地域→町域」の階層構造
  • 一括変換は日本郵便のCSV、リアルタイム検索はZipCloud API
  • フォーム自動入力は5〜10行のJSで実装可
  • 海外通販には ZIP+4 形式の番号が便利

関連ツール: 郵便番号検索ツール では住所⇔郵便番号の双方向検索を即時に実行。フォーム実装時のテストや、葬儀・引っ越し通知など多人数の住所確認にもご活用ください。住所のフォーマット整形にはCSV修復ツールもどうぞ。