Skip to Content

Japanese Prefecture Codes: Complete List of All 47 Prefectures

Japan is divided into 47 prefectures (todofuken), each with a standardized ISO 3166-2 code. These codes are used in address forms, shipping systems, e-commerce platforms, and any application that handles Japanese regional data.

This page lists every Japanese prefecture code organized by geographic region, and shows how to work with them using @koshmoney/countries.

All 47 Japanese Prefecture Codes

Japanese ISO 3166-2 codes use a numeric format (JP-01 through JP-47) rather than letter abbreviations. All entries have the type “Prefecture” in ISO 3166-2.

Hokkaido Region

CodeNameJapanese
JP-01Hokkaidohokkaido

Tohoku Region

CodeNameJapanese
JP-02Aomoriaomori
JP-03Iwateiwate
JP-04Miyagimiyagi
JP-05Akitaakita
JP-06Yamagatayamagata
JP-07Fukushimafukushima

Kanto Region

CodeNameJapanese
JP-08Ibarakiibaraki
JP-09Tochigitochigi
JP-10Gunmagunma
JP-11Saitamasaitama
JP-12Chibachiba
JP-13Tokyotokyo
JP-14Kanagawakanagawa

Chubu Region

CodeNameJapanese
JP-15Niigataniigata
JP-16Toyamatoyama
JP-17Ishikawaishikawa
JP-18Fukuifukui
JP-19Yamanashiyamanashi
JP-20Naganonagano
JP-21Gifugifu
JP-22Shizuokashizuoka
JP-23Aichiaichi

Kansai (Kinki) Region

CodeNameJapanese
JP-24Miemie
JP-25Shigashiga
JP-26Kyotokyoto
JP-27Osakaosaka
JP-28Hyogohyogo
JP-29Naranara
JP-30Wakayamawakayama

Chugoku Region

CodeNameJapanese
JP-31Tottoritottori
JP-32Shimaneshimane
JP-33Okayamaokayama
JP-34Hiroshimahiroshima
JP-35Yamaguchiyamaguchi

Shikoku Region

CodeNameJapanese
JP-36Tokushimatokushima
JP-37Kagawakagawa
JP-38Ehimeehime
JP-39Kochikochi

Kyushu and Okinawa Region

CodeNameJapanese
JP-40Fukuokafukuoka
JP-41Sagasaga
JP-42Nagasakinagasaki
JP-43Kumamotokumamoto
JP-44Oitaoita
JP-45Miyazakimiyazaki
JP-46Kagoshimakagoshima
JP-47Okinawaokinawa

Understanding Japanese Prefecture Codes

Unlike most countries that use letter-based subdivision codes, Japan uses a numeric system from 01 to 47. The numbering follows a geographic order from north (Hokkaido, 01) to south (Okinawa, 47).

ComponentExampleMeaning
Country prefixJPJapan
Separator-Standard delimiter
Prefecture number13Tokyo
Full codeJP-13Tokyo, Japan

[!NOTE] In Japanese administrative terminology, prefectures are called by four different names depending on the specific prefecture: “to” (Tokyo-to), “do” (Hokkai-do), “fu” (Osaka-fu, Kyoto-fu), and “ken” (all other 43 prefectures). ISO 3166-2 uses the uniform type “Prefecture” for all 47.

Using Japanese Prefecture Codes in Code

Look Up a Prefecture

import { subdivision } from '@koshmoney/countries'; subdivision.whereCode('JP-13'); // { code: 'JP-13', name: 'Tokyo', type: 'Prefecture', countryCode: 'JP' } subdivision.whereCode('JP-27'); // { code: 'JP-27', name: 'Osaka', type: 'Prefecture', countryCode: 'JP' }

Get All Japanese Prefectures

import { subdivision } from '@koshmoney/countries'; const allJP = subdivision.forCountry('JP'); // Returns array of 47 prefectures // Build a dropdown const options = allJP.map(s => ({ label: s.name, value: s.code, }));

Validate a Prefecture Code

import { subdivision } from '@koshmoney/countries'; subdivision.isValidCode('JP-13'); // true (Tokyo) subdivision.isValidCode('JP-48'); // false (only 47 prefectures) subdivision.isValidRegion('JP', '01'); // true (Hokkaido) subdivision.isValidRegion('JP', '99'); // false

Tree-Shaking for Japanese Data Only

import '@koshmoney/countries/subdivision/JP'; import { whereCode, forCountry } from '@koshmoney/countries/subdivision'; const tokyo = whereCode('JP-13'); const allPrefectures = forCountry('JP');

Postal Code System

Japan uses a 7-digit postal code system with a hyphen after the first 3 digits (e.g. 100-0001). The first 3 digits indicate the region and roughly correspond to prefecture areas.

First DigitsRegion
001-099Hokkaido
100-209Tokyo
210-259Kanagawa
260-299Chiba
300-399Ibaraki, Tochigi, Gunma, Saitama
400-499Yamanashi, Nagano, Niigata
500-599Gifu, Shizuoka, Aichi, Mie
600-699Shiga, Kyoto, Osaka, Hyogo, Nara, Wakayama
700-799Tottori, Shimane, Okayama, Hiroshima, Yamaguchi
800-899Tokushima, Kagawa, Ehime, Kochi, Fukuoka, Saga, Nagasaki, Kumamoto, Oita
900-999Miyazaki, Kagoshima, Okinawa
import { postalCode } from '@koshmoney/countries'; postalCode.isValid('JP', '100-0001'); // true (Chiyoda, Tokyo) postalCode.isValid('JP', '5300001'); // true (Osaka, no hyphen) postalCode.isValid('JP', '12345'); // false (too few digits)

Currency and Country Data

import { country } from '@koshmoney/countries'; import { currency } from '@koshmoney/countries/currency'; import { geography } from '@koshmoney/countries/geography'; country.whereAlpha2('JP'); // { name: 'Japan', alpha2: 'JP', alpha3: 'JPN', numeric: '392' } currency.getCurrency('JP'); // { code: 'JPY', symbol: '\u00a5', name: 'Japanese Yen' } geography.getContinent('JP'); // 'Asia' geography.getRegion('JP'); // 'Eastern Asia'

Common Use Cases

E-Commerce Address Forms

Japanese address forms typically list prefectures in the standard JIS order (01 to 47). The numeric ISO codes match this convention:

import { subdivision } from '@koshmoney/countries'; const prefectures = subdivision.forCountry('JP'); // Already in numeric order (JP-01 through JP-47) const dropdown = prefectures.map(p => ({ label: p.name, value: p.code, }));

Shipping Zone Calculation

Japanese logistics providers define zones based on distance from the shipping origin. Prefecture codes help determine the zone:

const tokyoMetro = new Set(['JP-13', 'JP-11', 'JP-12', 'JP-14']); const kansaiMetro = new Set(['JP-26', 'JP-27', 'JP-28']); function getShippingZone(from: string, to: string): string { if (from === to) return 'same-prefecture'; if (tokyoMetro.has(from) && tokyoMetro.has(to)) return 'metro'; if (kansaiMetro.has(from) && kansaiMetro.has(to)) return 'metro'; return 'standard'; }

Regional Content Targeting

Prefecture codes help serve region-specific content, promotions, or language variations:

function getRegion(prefectureCode: string): string { const num = parseInt(prefectureCode.split('-')[1], 10); if (num === 1) return 'hokkaido'; if (num <= 7) return 'tohoku'; if (num <= 14) return 'kanto'; if (num <= 23) return 'chubu'; if (num <= 30) return 'kansai'; if (num <= 35) return 'chugoku'; if (num <= 39) return 'shikoku'; return 'kyushu-okinawa'; }