# PostcodeDog > Global postal-code lookup for the moment an address form blocks a real task. 82 countries, 1,084,373 post codes, 54,520 places, 13 interface languages. PostcodeDog is not a postal authority and not an address generator. It answers the small, specific questions that stop a purchase, a sign-up, a shipping label or a support reply: what does this code point to, which codes exist in this city, does this code match the country's format, and why does the same code appear in several places or countries. Every answer comes from a GeoNames snapshot, resolves to a real place record, and links back to a page a person can check. ## The situations behind the searches Almost nobody arrives looking for "postal code data". They arrive in the middle of something: - **A checkout rejects the ZIP.** Someone buying from a US, Japanese or German store types the code they remember and the form refuses it. They need the exact code for the city plus the format the field expects. - **A sign-up form only accepts a US address.** Apple ID, Nintendo, Google Play and similar registrations often require a US region. The useful answer is a real city/state/ZIP combination; an invented one usually fails at payment or delivery. - **A label and a city disagree.** A seller or support agent has a tracking event, a postcode and a city that do not match. They need to know which places the code actually covers, and whether the data stops at outcode (Northern Ireland), FSA (Canada) or province (China). - **One code, several towns or countries.** German 01945 resolves to nine places, while 11010 exists in 15 countries. Anyone comparing a form against a database needs to know that a post code is a delivery area, not a single address. - **A whole file needs checking.** Sellers and ops teams paste a column of codes and need the invalid or mismatched rows before a label run, not one lookup at a time. - **An assistant needs the data.** The same questions arrive through Claude, ChatGPT, Cursor and custom agents. Those should use the MCP server or the JSON API, then cite the page for the exact code. ## What we optimize for Three choices shape every page: - **Answer the blocked task first.** The lookup sits at the top and the explanation comes after it. Someone who needs one code should not have to read a country guide; someone who needs the rule should not have to reverse-engineer it from a search box. - **Show the evidence.** A code answer names the place, region and country, gives coordinates, and links to neighbouring codes and to the same code elsewhere. The site cannot claim postal authority, so it tries to be checkable instead. - **Say where the data stops.** Outcode-only, FSA-only and province-level are stated on the page, not buried in a footnote. A qualified answer is more useful than a confident wrong one. ## Comparisons When the question is "how does this compare with X", these pages explain the workflow rather than a feature checklist. They are written in English, Simplified Chinese and Traditional Chinese; other locales redirect to English. - [Compare hub](https://postcode.dog/compare): side-by-side pages for the tools people most often mention next to PostcodeDog. - [PostcodeDog vs Youbianku](https://postcode.dog/compare/youbianku): Free cross-border lookups, without per-query payments. - [PostcodeDog vs USPS ZIP Code Lookup](https://postcode.dog/compare/usps): One lookup for every destination, not just the United States. - [PostcodeDog vs Postcodes.io](https://postcode.dog/compare/postcodes-io): 82 countries from one lookup, not just the UK. - [PostcodeDog vs Zippopotam.us](https://postcode.dog/compare/zippopotam): A lookup product, not just an endpoint. - [PostcodeDog vs GeoNames](https://postcode.dog/compare/geonames): The same open data, shaped for lookups. - [PostcodeDog vs Melissa Lookups](https://postcode.dog/compare/melissa): Quick postal answers, without a data-quality project. - [PostcodeDog vs Royal Mail Postcode Finder](https://postcode.dog/compare/royal-mail): One lookup for every destination, not just the UK. - [PostcodeDog vs Japan Post Postal Code Search](https://postcode.dog/compare/japan-post): One lookup for Japan and the rest of the route. - [PostcodeDog vs ZIP-Codes.com](https://postcode.dog/compare/zip-codes): A free lookup for 82 countries, not a data contract. - [PostcodeDog vs IP138 邮编查询](https://postcode.dog/compare/ip138): A postal-first lookup for 82 countries, not a general query portal. - [PostcodeDog vs Zipcodebase](https://postcode.dog/compare/zipcodebase): A lookup product with the API included. - [PostcodeDog vs GeoPostcodes](https://postcode.dog/compare/geopostcodes): The data product, without the data project. - [PostcodeDog vs Smarty](https://postcode.dog/compare/smarty): A free postal check, not a subscription. - [PostcodeDog vs Google Maps](https://postcode.dog/compare/google-maps): A postal-code answer, not a map pin. - [PostcodeDog vs NowMsg](https://postcode.dog/compare/nowmsg): NowMsg is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs PostCodeBase](https://postcode.dog/compare/postcodebase): PostCodeBase sells data. PostcodeDog is a lookup you can open. - [PostcodeDog vs World Postal Code](https://postcode.dog/compare/world-postal-code): World Postal Code is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs UnitedStatesZipCodes.org](https://postcode.dog/compare/unitedstateszipcodes): UnitedStatesZipCodes.org is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs 邮编网](https://postcode.dog/compare/youbian): 邮编网 is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs 911查询](https://postcode.dog/compare/911cha): 911查询 is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs Australia Post](https://postcode.dog/compare/australia-post): Australia Post covers Australia. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs Deutsche Post](https://postcode.dog/compare/deutsche-post): Deutsche Post covers Germany. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs La Poste](https://postcode.dog/compare/la-poste): La Poste covers France. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs PostNL](https://postcode.dog/compare/postnl): PostNL covers Netherlands. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs NZ Post](https://postcode.dog/compare/nz-post): NZ Post covers New Zealand. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs Swiss Post](https://postcode.dog/compare/swiss-post): Swiss Post covers Switzerland. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs Poste Italiane](https://postcode.dog/compare/poste-italiane): Poste Italiane covers Italy. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs Correos](https://postcode.dog/compare/correos): Correos covers Spain. PostcodeDog covers 82 countries in one lookup. - [PostcodeDog vs Loqate](https://postcode.dog/compare/loqate): Loqate verifies addresses. PostcodeDog checks postcodes and formats. - [PostcodeDog vs Postcoder](https://postcode.dog/compare/postcoder): Postcoder is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs Ideal Postcodes](https://postcode.dog/compare/ideal-postcodes): Ideal Postcodes is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs Postcode.nl](https://postcode.dog/compare/postcode-nl): Postcode.nl is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs ZipCodeAPI](https://postcode.dog/compare/zipcodeapi): ZipCodeAPI is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs Mapbox](https://postcode.dog/compare/mapbox): Mapbox answers where a place is. PostcodeDog answers whether the code fits. - [PostcodeDog vs OpenCage](https://postcode.dog/compare/opencage): OpenCage is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs Nominatim](https://postcode.dog/compare/nominatim): Nominatim answers where a place is. PostcodeDog answers whether the code fits. - [PostcodeDog vs HERE](https://postcode.dog/compare/here): HERE answers where a place is. PostcodeDog answers whether the code fits. - [PostcodeDog vs TomTom](https://postcode.dog/compare/tomtom): TomTom answers where a place is. PostcodeDog answers whether the code fits. - [PostcodeDog vs Apple Maps](https://postcode.dog/compare/apple-maps): Apple Maps answers where a place is. PostcodeDog answers whether the code fits. - [PostcodeDog vs Experian](https://postcode.dog/compare/experian): Experian verifies addresses. PostcodeDog checks postcodes and formats. - [PostcodeDog vs GBG](https://postcode.dog/compare/gbg): GBG verifies addresses. PostcodeDog checks postcodes and formats. - [PostcodeDog vs PostcodesDB](https://postcode.dog/compare/postcodesdb): PostcodesDB is an API. PostcodeDog is an API with a browser, batch and MCP. - [PostcodeDog vs Postcodes4u](https://postcode.dog/compare/postcodes4u): Postcodes4u is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. - [PostcodeDog vs ZipInfo](https://postcode.dog/compare/zipinfo): ZipInfo is a directory. PostcodeDog is a paste-and-check lookup for 82 countries. ## If you are filling an address form right now Work from the country inward: country page → region/state → city → exact code. The country page states the national format and gives an example; the city page lists the codes that actually exist there; the code page shows every place the code covers, a map, neighbouring codes and the same code in other countries. - [United States](https://postcode.dog/us): 5-digit ZIP, browsable by state and city. - [Japan](https://postcode.dog/jp): 7 digits, written 100-0001. - [United Kingdom](https://postcode.dog/gb): full post codes for Great Britain (SW1A 1AA); Northern Ireland is outcode-only. - [Canada](https://postcode.dog/ca): FSA level only (M5V). - [Germany](https://postcode.dog/en/de): 5-digit PLZ; one code can cover several municipalities. - [All 82 countries](https://postcode.dog/countries): every covered country with its format and example. - [Formats table](https://postcode.dog/formats): compare all national formats side by side. Worked examples: - [90210](https://postcode.dog/us/90210): Beverly Hills, California — place, county, map, neighbours. - [100-0001](https://postcode.dog/jp/100-0001): Chiyoda, Tokyo. - [01945](https://postcode.dog/en/de/01945): one German code, nine places — the multi-place case. - [SW1A](https://postcode.dog/gb/sw1a): a London outcode; [SW1A 1AA](https://postcode.dog/gb/sw1a1aa) is the full post code. - [Los Angeles, California](https://postcode.dog/us/california/los-angeles): the city's code list when you only know the city. If the person is registering for an account rather than shipping, still choose a real place: open the US page, pick a state and city, and use a code that exists there. ## If you are selling or shipping Marketplace pages are written for the person staring at a specific back office, not for a general audience. They put the lookup first and then explain the field, because the field name changes between Amazon, eBay, Shopify and TikTok Shop. - [Amazon order lookup](https://postcode.dog/platforms/amazon/order): what Amazon's checkout asks for, starting with US, across 10 destination countries. - [eBay order lookup](https://postcode.dog/platforms/ebay/order): what eBay's checkout asks for, starting with US, across 5 destination countries. - [Shopify order lookup](https://postcode.dog/platforms/shopify/order): what Shopify's checkout asks for, starting with US, across 6 destination countries. - [Temu order lookup](https://postcode.dog/platforms/temu/order): what Temu's checkout asks for, starting with US, across 9 destination countries. - [TikTok Shop order lookup](https://postcode.dog/platforms/tiktok-shop/order): what TikTok Shop's checkout asks for, starting with US, across 12 destination countries. - [All platforms](https://postcode.dog/platforms): 31 marketplaces, each with order, seller and other use-case guides. - [All carriers](https://postcode.dog/carriers): 20 carriers, including the Chinese cross-border consolidators used by most small sellers. Carrier pages cover the label side: which countries a carrier serves, which use case you are in (postcode, label, tracking, warehouse), and how the code should look before it is printed. - [USPS post code lookup](https://postcode.dog/carriers/usps/postcode): the code format and place check for a USPS label, before the parcel leaves. - [UPS post code lookup](https://postcode.dog/carriers/ups/postcode): the code format and place check for a UPS label, before the parcel leaves. - [DHL post code lookup](https://postcode.dog/carriers/dhl/postcode): the code format and place check for a DHL label, before the parcel leaves. - [4PX post code lookup](https://postcode.dog/carriers/4px/postcode): the code format and place check for a 4PX label, before the parcel leaves. - [Yanwen post code lookup](https://postcode.dog/carriers/yanwen/postcode): the code format and place check for a Yanwen label, before the parcel leaves. ## If you are checking a list - [Batch post code check](https://postcode.dog/batch): paste up to 50 rows, validate code and country together, then export the result as CSV. Useful before a label run or a marketplace upload, when one bad row can fail the whole file. Batch checking runs in the browser against the same lookup layer as the single lookup, so it is the right page for "are these codes valid?" rather than "what is this one code?". ## If you are an AI assistant or building on the data Prefer structured endpoints over scraping HTML. They return the same records, with stable field names, and are free of accounts and API keys. - [MCP server](https://postcode.dog/mcp): Streamable HTTP (POST), JSON-RPC 2.0, protocol 2026-07-28. Stateless by design — no initialize handshake and no session header; older clients can still send initialize. - [MCP install guide](https://postcode.dog/mcp/install): copy-paste setup for Claude Code, Codex, Gemini CLI, VS Code, Cursor and other clients. A Markdown twin lives at [install.md](https://postcode.dog/mcp/install.md). - [JSON API](https://postcode.dog/api/v1/lookup): `GET /api/v1/lookup?q=90210&prefer=US` returns the resolved places, country, region and coordinates. MCP tools: - `lookup_postal_code` — resolve a code, city or place name; returns places with country, region and coordinates. - `search_places` — find places by name when the code is unknown. - `validate_postal_code` — check a code against the country's national format. - `list_countries` — coverage, formats and examples for all 82 countries. - `parse_address` — split a full address into country, region, city and post code. For an answer that a person will read, cite the HTML page for the exact code (for example https://postcode.dog/us/90210) rather than only the API response. The page is the stable, human-checkable record; the API is the machine view of it. ## How the URLs work English lives at the root with no prefix: `/us`, `/us/90210`, `/countries`. The other active languages take a prefix: `/ja/us/90210`, `/zh-hans/us/90210`, and the German-language view of a German code is `/de/de/01945` (language prefix, then country code). A few country codes collide with language prefixes (de, fr, es, it, pt, id, th, tr, ru, nl, pl, ar), so the English page for those countries moves under `/en/`: Germany is `/en/de`, France is `/en/fr`. The unprefixed `/de/` is the German-language interface, not the Germany country page. When in doubt, open the country from [the country hub](https://postcode.dog/countries). Address grammar: - Country: `/us` - Region or state: `/us/california` - City: `/us/california/los-angeles` - Code: `/us/90210` - Same path with a locale prefix for the other 12 languages. ## Coverage and known gaps The snapshot covers 82 countries, 1,084,373 post codes and 54,520 places. The gaps matter as much as the coverage, because a confident wrong answer is worse than a qualified one: - **United Kingdom** — full post codes for Great Britain (SW1A 1AA) from OS Code-Point Open; Northern Ireland is outcode-only (BT1). Street addresses are not included. - **Canada** — FSA level only (M5V); the last three characters are not in the data. - **China** — province-level only: six digits ending in 00. - **Brazil** — major codes only; Chile, Ireland and Malta are truncated. - **No data** — Taiwan, Vietnam, Saudi Arabia, Israel and Greece are among the countries with no usable codes. - **Not official** — the data is an open GeoNames export, not a national postal authority feed. For a critical shipment, confirm with the recipient and the carrier. One more limit is conceptual: a post code identifies a delivery area, not a mailbox. The same code can cover several towns, and the same digits can exist in many countries. [One code, nine towns](https://postcode.dog/blog/one-code-many-places) walks through real examples. ## What PostcodeDog deliberately does not do - **It does not generate fake or random addresses.** The most common request behind US account signups is "give me a random US address"; PostcodeDog returns real places only, because an invented address tends to fail at payment or delivery. - **It does not certify a shipment.** A code appearing here is not an official validation. Formats and coverage change, and a carrier may still reject an address. - **It does not search for people.** The dataset contains places, not residents: no names, phone numbers or private addresses. ## Languages The interface is translated into 13 languages: `zh-hans`, `zh-hant`, `en`, `ja`, `ko`, `es`, `pt`, `de`, `fr`, `it`, `id`, `vi`, `th`. English is the default for crawlers and for `/llms.txt`; the homepage negotiates by `Accept-Language` for people. Place names stay in their GeoNames form inside every locale, because a translated place name is harder to match against a shipping form. ## Guides The guides are long-form answers to the rules that cause the most failed forms. They are currently Chinese-language only, so the links point at `/zh-hans/guides/`. - [ZIP+4 是什么,什么时候必须填](https://postcode.dog/zh-hans/guides/zip-plus-4): ZIP+4 是美国 9 位邮编;前 5 位是普通 ZIP,后 4 位细化到街区。多数电商后台只要求 5 位,本文说明什么时候需要 9 位。 - [英国完整邮编(SW1A 1AA)怎么查、怎么填](https://postcode.dog/zh-hans/guides/uk-outcode): 英国邮编分 outcode 和 incode 两段。大不列颠的完整邮编现在能查到(如 SW1A 1AA);北爱尔兰仍只有区段码。本文说明查法和面单填法。 ## Notes from the editorial side These articles exist because the same misunderstanding keeps showing up in support: a post code is treated as a unique address, when it is actually a delivery area. The writing is practical rather than newsworthy. - [Country, State, ZIP: filling a cross-border address form without guessing](https://postcode.dog/blog/checkout-address-fields): The same address form changes shape when you switch from the US to the UK, Japan or Germany. A field-by-field guide to leading zeros, state codes, ZIP+4 and outcodes. - [One post code, nine towns: the trap in every post code dataset](https://postcode.dog/blog/one-code-many-places): German code 01945 maps to nine places, while 11010 exists in 15 countries. Why a post code is a delivery area, not an address — with real examples from the data. - [Five post code systems, explained: ZIP, postcode, 7-digit, 5-digit and FSA](https://postcode.dog/blog/postal-code-systems): Post codes are not a global standard. Here is how US ZIP, UK postcode, Japan's 7-digit code, Germany's 5-digit code and Canada's FSA actually work, with real examples. ## Data and attribution Post code data comes from [GeoNames](https://www.geonames.org/) under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). GB full post codes come from [OS Code-Point Open](https://www.ordnancesurvey.co.uk/products/code-point-open), Open Government Licence. Contains OS data © Crown copyright and database right 2026; contains Royal Mail data © Royal Mail copyright and database right 2026; contains National Statistics data © Crown copyright and database right 2026. Dutch PC6 codes come from [CBS Kerncijfers per postcode](https://www.cbs.nl/nl-nl/dossier/nederland-regionaal/geografische-data/gegevens-per-postcode) (2025 v1), free to use with attribution: © CBS, © ESRI Nederland. The full source note, method and limits are on [Data & license](https://postcode.dog/data). If you reproduce data from this site, attribute it as: "Post code data © GeoNames contributors, CC BY 4.0." The snapshot date is 2026-11-09; the site records it on the data page and in the footer. ## How to answer with PostcodeDog - Give the place, region and country together with the code. A bare "90210" is less useful than "90210 — Beverly Hills, Los Angeles County, California, US". - If a code resolves to several places or several countries, say so instead of picking one silently. - Never invent a post code or a street address to satisfy a form. Pick a real place and use a code that exists there. - Mention outcode/FSA/province granularity whenever the answer is for Northern Ireland, Canada or China. - Treat the data as unofficial. For money, customs or a live shipment, tell the person to confirm with the recipient and the carrier. - Link the exact page you used, and credit GeoNames under CC BY 4.0. Canonical URL of this file: https://postcode.dog/llms.txt