Updated
NOTE! This article is currently out for public review. If you have comments, please send them using the Leave a Comment link near the bottom of this page. The published version of the article will be at a different URL, and should be linked to there.
How do address formats differ around the world, and what are the implications of those differences on the design of forms, databases, ontologies, etc. for the Web?
Address formats vary widely across the globe, with differences in structure, content, and the level of granularity. For authors and developers designing forms, databases, or systems that handle addresses, understanding these variations is crucial to avoid frustrating users from other countries. This article will introduce some of the key differences in address formats around the world and provide guidance on how to design systems that can handle them effectively.
This is not an exhaustive guide but aims to sensitize you to the complexities of international address formats and the challenges they pose for web design. As with personal names, there is no one specific "perfect" solution, but awareness of these differences is the first step toward building more inclusive systems.
There are a couple of key scenarios to consider.
In most countries, an address consists of a combination of elements such as a street name, a house number, a postal code, and a locality name. However, the order, structure, and even the elements themselves can vary significantly between countries—and sometimes even within the same country. Below are some examples of how address formats differ around the world.
In many countries like the United States, United Kingdom, and France, the house number precedes the street name (e.g., "123 Main Street"). However, in Germany and Switzerland, the street name comes first, followed by the house number:
Sternengasse 3
35108 Allendorf
Deutschland
This difference has important implications for form design, as users from these countries may expect to enter their address in this order.
In Colombia, instead of numbering houses sequentially along a street, addresses are based on the distance from the nearest intersecting street. For example, "Calle 122 # 18 – 15" means 122nd street, 15 metres from the intersection with 18th street.
Kyoto uses a similar system based around street intersections, with cardinal directions indicating the location relative to the intersection. For instance, the address of Kyoto Tower is:
京都市下京区 Kyōto-shi, Shimogyō-ku
烏丸七条下ル Karasuma-Shichijō-sagaru
東塩小路町 721-1 Higashi-Shiokōji 721-1
This second line means "south of the intersection of Karasuma and Shichijō streets".
Elsewhere in Japan, street names are often not used at all. Instead, buildings are referenced by block numbers, and their numbering may not follow geographic order (e.g., they can be the order in which buildings were constructed). For example, in the following address:
305-0051, Ibaraki, Tsukuba, Ninomiya 1-chōme, 6-13
305-0051 is the postal code, Ibaraki is the prefecture, Tsukuba is the city, Ninomiya 1-chōme is the district, 6 is the block number, and 13 is the building number.
In some countries like the United Kingdom, an address might include apartment/flat numbers, building names, and street information across multiple lines:
Flat 4, Danson House 63 Somerton Road Market Drayton UK
It's important to note that the street name and house number (63 Somerton Road
) are not on the first line of this address. The first line contains the flat number and building name (Flat 4, Danson House
). Additional information may also precede these details, such as "℅" (care of) followed by a person's or organization's name when mail is being delivered to someone at another person's address.
While most countries recommend that users format addresses in order from the most detailed part (such as street and house number) to the most general part (like city and province), there are some cases that slightly deviate from the general rule.
In China and Japan, addresses are written starting with the postal code, followed by the largest administrative area (e.g., province), and down to the smallest unit (e.g., room number). For example, here is an example of a Chinese address:
100083 北京市 海淀区 学院路 37号
(Postal code → City → District → Street → House number)
Russia often follows a "largest-to-smallest" order, starting with the country. For example:
Россия, Москва, Тверская улица, 16
(Country → City → Street → House number)
However, Russia also uses the "smallest-to-largest" order commonly seen internationally, so developers should account for both formats.
When designing systems for international shipping, it's important to understand that formal address structures may not always be sufficient for successful delivery, particularly in the "last mile" of the delivery process: the final step of getting a package from a local distribution center to its ultimate destination.
In many parts of the world, especially in rural areas or developing regions, formal street addresses may not exist or may not be widely used. Instead, people rely on informal addressing systems that can include:
Landmark-based directions: Addresses might be described relative to well-known local landmarks, such as "the house with the blue door", "two houses down from the post office", or "behind the old church".
Community-based addressing: In some areas, mail is delivered to a central community location (such as a village center or a local shop) rather than individual residences. The final delivery then relies on community networks.
Postal codes vary widely in format and granularity:
Europe: Most countries use 4- or 5-digit codes. The UK uses alphanumeric codes with a specific grouping pattern (e.g., SW1A 1AA - always with a space between the outward and inward parts, never with hyphens). The Netherlands uses a similar alphanumeric pattern with a space (e.g., 1234 AB).
North America: The United States uses a 5-digit code, optionally followed by a hyphen and a 4-digit extension (e.g., 20500-0003). Canada uses a 6-character alphanumeric format with a space in the middle (e.g., K1A 0B1).
South America: Format patterns vary significantly. Brazil uses an 8-digit system with a hyphen (e.g., 70150-900). Argentina's 8-character alphanumeric code is written as a single string without separators (e.g., C1070AAB). Colombia and Ecuador use 6-digit systems written as continuous numbers.
Asia: Mainland China uses a 6-digit continuous numeric code without separators. Taiwan uses a "3+3" system with 6-or-3-digit continuous numeric codes without separators: the 6-digit detailed code or the first 3 digits as a brief code. It replaced the previous "3+2" system (5-or-3-digit codes) in 2020, with both systems running in parallel until the old system was retired in 2024. Japan uses a 7-digit system with a hyphen after the first 3 digits (e.g., 100-0001). South Korea uses a 5-digit system without separators, and India uses a 6-digit PIN code system without separators.
Africa: Nigeria and Ghana use 6-digit systems without separators, while South Africa uses a 4-digit code with no separators.
Oceania: Australia and New Zealand use a 4-digit continuous numeric code.
In some countries, postal codes represent relatively large areas, such as an entire town. In others, they can be highly specific, covering small neighborhoods or even a single address.
Not all countries use postal codes. For example, Angola and some other nations do not use postal codes, which can make validation more challenging. Always design systems with flexibility to accommodate such exceptions.
Avoid rigid field labels and formats. Using labels like "Street Address" or "Zip Code" can be confusing for users whose countries do not use these concepts. Instead, use more generic terms like "Address Line 1" and "Postal Code."
Provide flexibility in input fields. Allow multiple lines for addresses. Some addresses, especially in rural areas, can be long and descriptive. Many addresses require multiple lines for apartment numbers, building names, "care of" designations, and other elements before the street information appears. Provide at least 3-4 address line fields to accommodate these variations. Avoid strict validation rules that assume specific formats (e.g., expecting numeric postal codes or that the street name must appear on the first line).
Separate fields for granularity only if needed. If you need specific parts of an address (e.g., city, postal code) for sorting or validation, use clear labels and instructions. For example:
Address Line 1 (Street address or P.O. Box) Address Line 2 (Apartment, suite, unit, building, floor, etc.) City/Town State/Province/Region Postal Code
Do not assume addresses will follow a specific order. Be prepared to handle both "largest-to-smallest" and "smallest-to-largest" formats for address components. Remember that in countries like Germany and Switzerland, the street name comes before the house number, unlike in the US and UK.
Provide additional delivery instructions. Include dedicated fields for delivery instructions or notes that can accommodate informal addressing information. This might include fields like "Delivery Notes".
Allow non-Latin characters. Many addresses include characters from non-Latin scripts. Use addresses in Latin script for international shipping labels and customs forms, but include native script addresses as supplementary information when needed. Provide native script addresses to local delivery services for the final delivery stage.
Accommodate countries without postal codes. Ensure that postal codes are optional, if your target users include people from countries that do not use them.
If your website serves users from multiple countries, consider localizing the address form for each locale, such as displaying field labels in the user's language, adjusting the order of fields to match the address format of the user's country, and using address auto-completion tools that are aware of regional differences.
When possible, use the user's country and pre-configure the form to match that country's address format. For example, if a user selects Germany as their country, you might reorder fields to put street name before house number, or add appropriate fields for their addressing system.
When designing systems to handle postal codes, pay careful attention to the following points:
Grouping and separators. Some postal codes require specific separators (spaces, hyphens) at specific positions.
Input formatting. Consider whether to:
SW1A 1AA
for UK)Validation flexibility. Allow for variations in how users might enter postal codes, including:
Changes and grace periods. Postal authorities sometimes split, merge, or reassign postal codes. There is usually a grace period during which old and new codes coexist. You should: