日本の郵便番号の仕組み
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 1A1 | M5V 3M3(トロント) |
| 英国(Postcode) | AA1A 1AA | SW1A 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修復ツールもどうぞ。