{"data":[{"country":"Afghanistan","countryCode":"AF","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames records no format for Afghanistan; Google's address metadata does carry a postal code field. No Afghan Post publication of the format could be retrieved, so only the four-digit count that other address metadata records is encoded, and the row stays shape-only.","officialSource":"https://www.afghanpost.gov.af/"},{"country":"Åland Islands","countryCode":"AX","postalCodeSystem":"national","patterns":[{"mask":"22###","regex":"^22\\d{3}$","example":"22123"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":"AX-","note":"Åland has no numbering plan of its own: its codes are Finnish five-digit codes beginning 22, where GeoNames records only the bare five-digit shape and its own regex column records no prefix either. Neither Posti nor Åland Post publishes the reserved block on a page we could cite, so the 22 prefix comes from other address metadata and the row is labelled shape-only. We record the relationship but do not model it.","officialSource":"https://www.posti.fi/en/private/sending/postal-codes"},{"country":"Albania","countryCode":"AL","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Algeria","countryCode":"DZ","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"American Samoa","countryCode":"AS","postalCodeSystem":"national","patterns":[{"mask":"96799","regex":"^96799$","example":"96799"},{"mask":"96799-####","regex":"^96799[ -]?\\d{4}$","example":"96799-1234"}],"precision":"shape-only","postalCodeName":"zip code","requiredInAddress":true,"countryPrefix":null,"note":"American Samoa's mail is carried by USPS under the single ZIP Code 96799. GeoNames records `#####-####` as the format and, in its regex column, the bare string `96799` — not a regex. The optional four-digit ZIP+4 add-on follows USPS Publication 28.","officialSource":"https://pe.usps.com/text/pub28/welcome.htm"},{"country":"Andorra","countryCode":"AD","postalCodeSystem":"national","patterns":[{"mask":"AD###","regex":"^[Aa][Dd]\\d{3}$","example":"AD123"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames writes the `AD` prefix inside the mask but treats it as strippable in its own regex (`^(?:AD)*(\\d{3})$`). We keep it as part of the code, as the mask writes it. Correus Andorrà's site does not resolve, so the assigned range inside the AD prefix is not encoded.","officialSource":null},{"country":"Angola","countryCode":"AO","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Anguilla","countryCode":"AI","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":"AI-","note":"GeoNames' regex cell for Anguilla is Azerbaijan's (`^(?:AZ)*(\\d{4})$`) against the mask `AI-####`, so it is not used. `AI-` is a display prefix and is exposed as `countryPrefix`; only the four-digit shape is encoded, because Anguilla's single assigned code could not be verified against the operator. This is the one `countryPrefix` in the dataset that libaddressinput's `postprefix` column does not document: it is a hand-adjudicated reading of GeoNames' own mask, which writes `AI-` in front of the digits.","officialSource":null},{"country":"Antarctica","countryCode":"AQ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Antigua and Barbuda","countryCode":"AG","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Argentina","countryCode":"AR","postalCodeSystem":"national","patterns":[{"mask":"@####@@@","regex":"^[A-Za-z]\\d{4}[A-Za-z]{3}$","example":"A1234BCD"},{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"The Argentine CPA is a province letter, four digits and three letters. Correo Argentino does not publish the province-letter set in a form we could verify, so no letter is excluded here. The legacy four-digit code is still the form most Argentines write and is accepted as a second pattern: GeoNames' mask records only the CPA, while its own regex for the same row (`^[A-Z]?\\d{4}[A-Z]{0,3}$`) admits the bare four digits.","officialSource":"https://www.correoargentino.com.ar/"},{"country":"Armenia","countryCode":"AM","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"},{"mask":"37####","regex":"^37\\d{4}$","example":"371234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"Armenia's four-digit postal code could not be confirmed against a HayPost publication, so the four-digit form that other address metadata records is shipped first and the legacy six-digit Soviet form beginning 37, which is what GeoNames records, is accepted as a second pattern.","officialSource":"https://www.haypost.am/"},{"country":"Aruba","countryCode":"AW","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Australia","countryCode":"AU","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Austria","countryCode":"AT","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Azerbaijan","countryCode":"AZ","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":"AZ ","note":"GeoNames writes the international display prefix `AZ` inside the mask. The code itself is four digits; the prefix is exposed as `countryPrefix` and accepted (but not required) by /validate.","officialSource":null},{"country":"Bahamas","countryCode":"BS","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Bahrain","countryCode":"BH","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"},{"mask":"###","regex":"^\\d{3}$","example":"123"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"Bahrain writes the block number as three or four digits and GeoNames records both forms. Bahrain Post's site is reachable only from a browser, so the assigned block ranges are not encoded.","officialSource":"https://www.bahrainpost.gov.bh/"},{"country":"Bangladesh","countryCode":"BD","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Barbados","countryCode":"BB","postalCodeSystem":"national","patterns":[{"mask":"BB#####","regex":"^[Bb]{2}\\d{5}$","example":"BB12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Belarus","countryCode":"BY","postalCodeSystem":"national","patterns":[{"mask":"######","regex":"^\\d{6}$","example":"123456"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Belgium","countryCode":"BE","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Belize","countryCode":"BZ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Benin","countryCode":"BJ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Bermuda","countryCode":"BM","postalCodeSystem":"national","patterns":[{"mask":"@@ ##","regex":"^[A-Za-z]{2}[ -]?\\d{2}$","example":"AB 12"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames' own regex for Bermuda (`^([A-Z]{2}\\d{2})$`) rejects the space its own mask writes, so the mask is kept and the space is treated as an optional separator. The alphanumeric second group that other address metadata records — the form of PO-box codes such as `HM GX` — is not accepted.","officialSource":null},{"country":"Bhutan","countryCode":"BT","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames records no format for Bhutan; Bhutan Post's own postcode page publishes five-digit codes. Only the digit count is encoded, not the assigned ranges.","officialSource":"https://bhutanpost.bt/postcode/"},{"country":"Bolivia","countryCode":"BO","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Bosnia and Herzegovina","countryCode":"BA","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Botswana","countryCode":"BW","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Bouvet Island","countryCode":"BV","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Brazil","countryCode":"BR","postalCodeSystem":"national","patterns":[{"mask":"#####-###","regex":"^\\d{5}[ -]?\\d{3}$","example":"12345-678"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"British Indian Ocean Territory","countryCode":"IO","postalCodeSystem":"national","patterns":[{"mask":"BBND 1ZZ","regex":"^[Bb]{2}[Nn][Dd][ -]?1[Zz]{2}$","example":"BBND 1ZZ"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"British Virgin Islands","countryCode":"VG","postalCodeSystem":"national","patterns":[{"mask":"VG####","regex":"^[Vv][Gg]\\d{4}$","example":"VG1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":"GeoNames records no format for the British Virgin Islands, while the cross-check's address format carries a postal code field. No BVI Post publication of the format could be retrieved, so only the `VG` and four digits that other address metadata records is encoded.","officialSource":"https://www.vgpost.vg/"},{"country":"Brunei","countryCode":"BN","postalCodeSystem":"national","patterns":[{"mask":"@@####","regex":"^[A-Za-z]{2}\\d{4}$","example":"AB1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Bulgaria","countryCode":"BG","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Burkina Faso","countryCode":"BF","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Burundi","countryCode":"BI","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cabo Verde","countryCode":"CV","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cambodia","countryCode":"KH","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cameroon","countryCode":"CM","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Canada","countryCode":"CA","postalCodeSystem":"national","patterns":[{"mask":"@#@ #@#","regex":"^[ABCEGHJ-NPRSTVXYabceghj-nprstvxy]\\d[ABCEGHJ-NPRSTV-Zabceghj-nprstv-z][ -]?\\d[ABCEGHJ-NPRSTV-Zabceghj-nprstv-z]\\d$","example":"K1A 0B1"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"The cited Canada Post page publishes only the written form — the first three characters separated from the last three by a space, never a hyphen — and states no letter set at all, so the letter classes encoded here are not sourced to Canada Post. The first character is restricted to the 18 postal-district letters A, B, C, E, G, H, J, K, L, M, N, P, R, S, T, V, X and Y, the third and sixth to those plus W and Z; D, F, I, O, Q and U are therefore rejected in all three positions and W and Z never appear first. Both classes are the ones GeoNames' own regex column records, which is the only source this dataset has for them. GeoNames' mask encodes neither restriction, and its regex cell for the same row ends in a stray space after its `$` anchor, so as written it matches nothing at all.","officialSource":"https://www.canadapost-postescanada.ca/cpc/en/support/kb/sending/general-information/how-to-address-mail-and-parcels"},{"country":"Caribbean Netherlands","countryCode":"BQ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cayman Islands","countryCode":"KY","postalCodeSystem":"national","patterns":[{"mask":"KY#-####","regex":"^[Kk][Yy]\\d[ -]?\\d{4}$","example":"KY1-2345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":"GeoNames records no format for the Cayman Islands, while the cross-check's address format carries a postal code field. No Cayman Islands Postal Service publication of the format could be retrieved, so the `KY`, a district digit, a hyphen and four digits that other address metadata records is encoded, without narrowing the district digit or the assigned ranges.","officialSource":"https://www.caymanpost.gov.ky/"},{"country":"Central African Republic","countryCode":"CF","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Chad","countryCode":"TD","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames' row for Chad carries Turks and Caicos Islands data — the literal code `TKCA 1ZZ` — in both its format and its regex column. Chad has no postal code system.","officialSource":null},{"country":"Chile","countryCode":"CL","postalCodeSystem":"national","patterns":[{"mask":"#######","regex":"^\\d{7}$","example":"1234567"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"China","countryCode":"CN","postalCodeSystem":"national","patterns":[{"mask":"######","regex":"^\\d{6}$","example":"123456"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Christmas Island","countryCode":"CX","postalCodeSystem":"national","patterns":[{"mask":"6798","regex":"^6798$","example":"6798"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"Christmas Island has a single Australian postcode, 6798. GeoNames records only the four-digit shape.","officialSource":"https://auspost.com.au/postcode"},{"country":"Cocos (Keeling) Islands","countryCode":"CC","postalCodeSystem":"national","patterns":[{"mask":"6799","regex":"^6799$","example":"6799"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"The Cocos (Keeling) Islands have a single Australian postcode, 6799. GeoNames records only the four-digit shape.","officialSource":"https://auspost.com.au/postcode"},{"country":"Colombia","countryCode":"CO","postalCodeSystem":"national","patterns":[{"mask":"######","regex":"^\\d{6}$","example":"123456"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Comoros","countryCode":"KM","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cook Islands","countryCode":"CK","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Costa Rica","countryCode":"CR","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Croatia","countryCode":"HR","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":"HR-","note":null,"officialSource":null},{"country":"Cuba","countryCode":"CU","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"GeoNames writes `CP` before the digits — the Spanish abbreviation for *código postal*, a field label rather than a prefix — and its own regex for the same row rejects it. The code is five digits.","officialSource":null},{"country":"Curaçao","countryCode":"CW","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Cyprus","countryCode":"CY","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Czechia","countryCode":"CZ","postalCodeSystem":"national","patterns":[{"mask":"### ##","regex":"^\\d{3}[ -]?\\d{2}$","example":"123 45"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Democratic Republic of the Congo","countryCode":"CD","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Denmark","countryCode":"DK","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Djibouti","countryCode":"DJ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Dominica","countryCode":"DM","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Dominican Republic","countryCode":"DO","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"East Timor","countryCode":"TL","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Ecuador","countryCode":"EC","postalCodeSystem":"limited","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"The two upstreams disagree on the shape: GeoNames records `@####@` while other address metadata records six digits. Correos del Ecuador's site does not resolve, so no pattern is published for Ecuador — the country has postal codes, but we will not invent their form.","officialSource":null},{"country":"Egypt","countryCode":"EG","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"El Salvador","countryCode":"SV","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":"GeoNames writes `CP` before the digits — the Spanish abbreviation for *código postal*, a field label rather than a prefix — and its own regex for the same row rejects it. The code is four digits.","officialSource":"https://www.correos.gob.sv/"},{"country":"Equatorial Guinea","countryCode":"GQ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Eritrea","countryCode":"ER","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Estonia","countryCode":"EE","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Eswatini","countryCode":"SZ","postalCodeSystem":"national","patterns":[{"mask":"@###","regex":"^[A-Za-z]\\d{3}$","example":"A123"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"Eswatini writes a region letter followed by three digits. Eswatini Post's site does not resolve, so the region-letter set is not encoded and any letter is accepted.","officialSource":null},{"country":"Ethiopia","countryCode":"ET","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Falkland Islands","countryCode":"FK","postalCodeSystem":"national","patterns":[{"mask":"FIQQ 1ZZ","regex":"^[Ff][Ii][Qq]{2}[ -]?1[Zz]{2}$","example":"FIQQ 1ZZ"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Faroe Islands","countryCode":"FO","postalCodeSystem":"national","patterns":[{"mask":"###","regex":"^\\d{3}$","example":"123"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":"FO","note":null,"officialSource":null},{"country":"Fiji","countryCode":"FJ","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Finland","countryCode":"FI","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":"FI-","note":null,"officialSource":null},{"country":"France","countryCode":"FR","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"French Guiana","countryCode":"GF","postalCodeSystem":"national","patterns":[{"mask":"973##","regex":"^973\\d{2}$","example":"97312"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"French Guiana's codes are French five-digit codes beginning 973. GeoNames encodes the prefix in its regex but not in its mask.","officialSource":"https://datanova.laposte.fr/datasets/laposte-hexasmal"},{"country":"French Polynesia","countryCode":"PF","postalCodeSystem":"national","patterns":[{"mask":"987##","regex":"^987\\d{2}$","example":"98712"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"French Polynesia's codes are French five-digit codes beginning 987. GeoNames encodes the prefix in its regex but not in its mask.","officialSource":"https://datanova.laposte.fr/datasets/laposte-hexasmal"},{"country":"French Southern Territories","countryCode":"TF","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Gabon","countryCode":"GA","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Gambia","countryCode":"GM","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Georgia","countryCode":"GE","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Germany","countryCode":"DE","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Ghana","countryCode":"GH","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Gibraltar","countryCode":"GI","postalCodeSystem":"national","patterns":[{"mask":"GX11 1AA","regex":"^[Gg][Xx]11[ -]?1[Aa]{2}$","example":"GX11 1AA"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Greece","countryCode":"GR","postalCodeSystem":"national","patterns":[{"mask":"### ##","regex":"^\\d{3}[ -]?\\d{2}$","example":"123 45"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"GeoNames' own regex for Greece rejects the space its mask writes. The space is optional in practice, which is what `separators=optional` encodes.","officialSource":null},{"country":"Greenland","countryCode":"GL","postalCodeSystem":"national","patterns":[{"mask":"39##","regex":"^39\\d{2}$","example":"3912"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"Greenland's codes are four-digit codes beginning 39, where GeoNames records only the bare four-digit shape in both of its columns. Tusass publishes no page stating the block, so the 39 prefix comes from other address metadata, the assigned range inside it is not narrowed, and the row is labelled shape-only.","officialSource":"https://www.tusass.gl/"},{"country":"Grenada","countryCode":"GD","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Guadeloupe","countryCode":"GP","postalCodeSystem":"national","patterns":[{"mask":"971##","regex":"^971\\d{2}$","example":"97112"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"Guadeloupe's codes are French five-digit codes beginning 971. GeoNames records only the five-digit shape.","officialSource":"https://datanova.laposte.fr/datasets/laposte-hexasmal"},{"country":"Guam","countryCode":"GU","postalCodeSystem":"national","patterns":[{"mask":"969##","regex":"^969\\d{2}$","example":"96912"},{"mask":"969##-####","regex":"^969\\d{2}[ -]?\\d{4}$","example":"96912-3456"}],"precision":"shape-only","postalCodeName":"zip code","requiredInAddress":true,"countryPrefix":null,"note":"Guam's ZIP Codes all begin 969, as GeoNames records; the assigned sub-range inside that block is not narrowed here, so 96900 is accepted as shape-correct. The optional four-digit ZIP+4 add-on follows USPS Publication 28.","officialSource":"https://pe.usps.com/text/pub28/welcome.htm"},{"country":"Guatemala","countryCode":"GT","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Guernsey","countryCode":"GG","postalCodeSystem":"national","patterns":[{"mask":"GY# #@@","regex":"^[Gg][Yy]\\d[ -]?\\d[ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}$","example":"GY1 1AA"},{"mask":"GY## #@@","regex":"^[Gg][Yy]\\d{2}[ -]?\\d[ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}$","example":"GY10 1AA"}],"precision":"national-rule","postalCodeName":"postal code","requiredInAddress":true,"countryPrefix":null,"note":"GeoNames gives Guernsey the United Kingdom's seven mask alternatives and the United Kingdom's regex — a cross-country copy-paste. Guernsey codes begin `GY`. The inward-code letter exclusions (C, I, K, M, O, V) follow Royal Mail's PAF Programmers' Guide, which covers the Crown dependencies.","officialSource":"https://www.poweredbypaf.com/wp-content/uploads/2015/02/Latest-Programmers_guide_Edition-7-Version-6.pdf"},{"country":"Guinea","countryCode":"GN","postalCodeSystem":"unverified","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"The two upstreams disagree and we could not settle it: GeoNames records no format for Guinea while Google's address metadata carries a postal code field. No Guinean operator publication of a postal code format was reachable, so nothing is asserted here.","officialSource":null},{"country":"Guinea-Bissau","countryCode":"GW","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Guyana","countryCode":"GY","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":null,"officialSource":null},{"country":"Haiti","countryCode":"HT","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":"HT","note":"GeoNames writes the display prefix `HT` inside the mask. The code itself is four digits; the prefix is exposed as `countryPrefix`.","officialSource":null},{"country":"Heard Island and McDonald Islands","countryCode":"HM","postalCodeSystem":"national","patterns":[{"mask":"####","regex":"^\\d{4}$","example":"1234"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":null,"countryPrefix":null,"note":"Heard Island and McDonald Islands are uninhabited, yet both upstreams record an Australian four-digit postcode for them. Only the digit count is encoded; there is no postal service to the territory.","officialSource":null},{"country":"Honduras","countryCode":"HN","postalCodeSystem":"national","patterns":[{"mask":"#####","regex":"^\\d{5}$","example":"12345"}],"precision":"shape-only","postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":"GeoNames' mask for Honduras is five digits while its own regex for the same row demands six. The five-digit mask is kept.","officialSource":null},{"country":"Hong Kong","countryCode":"HK","postalCodeSystem":"none","patterns":[],"precision":null,"postalCodeName":"postal code","requiredInAddress":false,"countryPrefix":null,"note":"GeoNames gives Hong Kong mainland China's six-digit format. Hong Kong has no postal code system: the cross-check's address format for Hong Kong contains no postal code field, and no Hongkong Post publication of one could be retrieved.","officialSource":"https://www.hongkongpost.hk/en/about_us/index.html"}],"meta":{"endpoint":"postal-code-formats","count":100,"params":{"system":"any","precision":"any","separators":"optional","offset":0},"generatedAt":"2026-09-16T03:40:59.262Z","warnings":["249 countries matched; at most 100 are returned per request. Use offset=100 for the next page, or narrow with system, precision or search."]}}