Back to Blog

Japanese Prefecture Codes: Complete List of All 47 Prefectures

Complete list of all 47 Japanese prefecture codes (ISO 3166-2:JP). Full table with codes organized by region, plus TypeScript examples for developers.

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';
}