📮 Portugal Postal Code Lookup (CP7)
Check any Portuguese código postal: normalize 4-digit legacy or 7-digit compact input to CP7 NNNN-NNN, identify the CTT prefix city and the first-digit region, all offline.
What is this tool?
A Portuguese postal code (código postal, often shortened to CP) is the seven-character identifier that Portugal's national postal operator, the CTT (Correios de Portugal), appends to every address in the country. The modern format, called CP7, looks like 1000-001: the first four digits are the CP4, which pins the address down to a postal distribution area — usually a neighbourhood, a small town or a village — while the last three digits, the CP3, route mail to the individual street, building or even floor within that area. Introduced nationwide during the 1990s, CP7 replaced the older four-digit codes, which remain valid as a legacy shorthand for the CP4 alone.
The first digit of the CP4 encodes a broad region, and memorising just that one digit already tells you where a letter is heading: codes starting with 1 belong to Greater Lisbon, 2 to the Tagus valley and Setúbal, 3 to the coastal Centre around Coimbra, 4 to the coastal North including Porto, 5 to Trás-os-Montes, 6 to the Beira Interior, 7 to the Alentejo, 8 to the Algarve, and 9 to the Atlantic islands — Funchal in Madeira takes 9000-9099, while the Azores occupy the 9400-9950 band. This lookup tool bundles a curated table of twenty major prefixes (1000 Lisboa, 4000 Porto, 9000 Funchal, 9500 Ponta Delgada and more) so you can identify the city behind a code at a glance, without any network request.
Everything runs locally in your browser: the tool normalises whatever you type — 1000-001, 1000001 or the bare legacy 1000 — into the canonical CP7 shape, reports the matching prefix city or, failing that, the first-digit region, and reminds you that the CP3 street-level routing lives in the full CTT database, which no offline tool reproduces completely. If you also plan mail or travel around the neighbouring country, the Spain postal code lookup applies the same idea to Spanish codes; and once you know the region, the Portugal public holidays checker tells you which local feast days apply there.
How it works
The tool follows a small deterministic pipeline — the same rules a clerk would apply by hand:
Step 1 — strip everything but digits. Your input is trimmed and every non-numeric character is removed, so 1000-001, 1000 001 and 1000001 all collapse to the same seven digits.
Step 2 — classify by length. Four digits mean a legacy CP4 query: the tool answers with the prefix city if it is in the curated table, otherwise with the first-digit region. Seven digits mean a full CP7 code: the tool re-displays it in canonical NNNN-NNN form and resolves the CP4 part exactly the same way. Any other length produces a short error listing the accepted formats.
Step 3 — resolve the prefix. The lookup table maps the exact CP4 to a city; if the exact prefix is unknown, the first digit still yields the broad region, which is always correct because the zone boundaries are fixed by decree.
| First digit | Region | Representative prefixes |
|---|---|---|
| 1 | Grande Lisboa — Greater Lisbon | 1000 Lisboa, 1250 Lisboa, 1600 Lisboa |
| 2 | Tejo valley & Setúbal district | 2000 Santarém, 2900 Setúbal |
| 3 | Coastal Centre | 3000 Coimbra, 3500 Viseu, 3800 Aveiro |
| 4 | Coastal North — Porto, Braga, Minho | 4000 Porto, 4700 Braga, 4900 Viana do Castelo |
| 5 | Trás-os-Montes & Alto Douro | 5000 Vila Real, 5300 Bragança |
| 6 | Beira Interior | 6000 Castelo Branco, 6300 Guarda |
| 7 | Alentejo | 7000 Évora, 7800 Beja |
| 8 | Algarve | 8000 Faro |
| 9 | Atlantic islands | 9000 Funchal (Madeira), 9500 Ponta Delgada, 9700 Angra do Heroísmo (Azores) |
Two conventions are worth knowing. First, the CP3 is never interpreted offline: 950 categories of street routing exist in the CTT master file, and a wrong guess is worse than an honest "unknown", so the tool stops at the CP4. Second, the legacy four-digit form remains legal on domestic mail, but CTT asks for the full CP7 whenever precision matters — parcels, registered letters and courier deliveries all benefit from the three extra digits. The table below lists the twenty prefixes bundled into this page.
20 major CTT prefixes in this tool
The bundled lookup table — the CP4 prefix, the city it serves and the first-digit region it belongs to.
| Prefix (CP4) | City | Region (first digit) |
|---|---|---|
| 1000 | Lisboa | 1 — Greater Lisbon |
| 1250 | Lisboa | 1 — Greater Lisbon |
| 2000 | Santarém | 2 — Tagus & Setúbal |
| 2900 | Setúbal | 2 — Tagus & Setúbal |
| 3000 | Coimbra | 3 — Coastal Centre |
| 3500 | Viseu | 3 — Coastal Centre |
| 3800 | Aveiro | 3 — Coastal Centre |
| 4000 | Porto | 4 — Coastal North |
| 4700 | Braga | 4 — Coastal North |
| 4900 | Viana do Castelo | 4 — Coastal North |
| 5000 | Vila Real | 5 — Trás-os-Montes |
| 5300 | Bragança | 5 — Trás-os-Montes |
| 6000 | Castelo Branco | 6 — Beira Interior |
| 6300 | Guarda | 6 — Beira Interior |
| 7000 | Évora | 7 — Alentejo |
| 7800 | Beja | 7 — Alentejo |
| 8000 | Faro | 8 — Algarve |
| 9000 | Funchal | 9 — Madeira |
| 9500 | Ponta Delgada | 9 — Azores |
| 9700 | Angra do Heroísmo | 9 — Azores |
Reading a Portuguese address with CP7
A correctly formatted Portuguese postal address puts the code and locality on the final line, after the street — the opposite of the Spanish habit.
| Line | Content | Example |
|---|---|---|
| 1 | Recipient | Maria Silva |
| 2 | Street, number, floor | Rua das Flores 12, 3.º Esq. |
| 3 | CP7 + locality | 1200-193 Lisboa |
The CP3 after the hyphen (193 above) is what machine sorting reads first; leaving it off does not stop delivery, but it slows the letter down to a manual sort. Uppercase localities are recommended by CTT for automated mail, though not compulsory for handwritten envelopes.
How to use
- Type a Portuguese postal code into the box: full CP7 (1000-001), compact seven digits (1000001) or legacy four digits (1000).
- Press the "Look up code" button or hit Enter.
- Read the normalised CP7 form of your input, echoed exactly as CTT would print it.
- Check the resolved location: the prefix city when the CP4 is in the bundled table, otherwise the first-digit region.
- Remember the CP3 street routing is not resolved offline; confirm exact delivery points with the official CTT database.
Frequently Asked Questions
What is the CP7 format of a Portuguese postal code?
CP7 is the seven-character standard NNNN-NNN: four digits (CP4) identifying the distribution area followed by three digits (CP3) routing to the street or building. It was rolled out nationwide in the 1990s and is the format CTT prints on machine-sorted mail.
Can I still use the old four-digit postal code?
Yes — the four-digit CP4 remains valid on domestic mail and this tool accepts it, answering with the prefix city or region. For parcels and registered items CTT recommends the full CP7, because the CP3 removes ambiguity between streets inside the same distribution area.
What does the first digit of the code mean?
It encodes a broad region: 1 Greater Lisbon, 2 Tagus/Setúbal, 3 coastal Centre, 4 coastal North, 5 Trás-os-Montes, 6 Beira Interior, 7 Alentejo, 8 Algarve and 9 the Atlantic islands. The boundaries are fixed, so the region answer is always reliable even when the exact prefix is unknown.
Why does the tool sometimes show only the region and not a city?
The page bundles a curated table of twenty major prefixes, not the complete CTT master file. When your CP4 is outside the table, the lookup falls back to the first-digit region, which is guaranteed correct, and tells you to confirm the exact locality with CTT.
Does 9000-9099 really mean Madeira?
Yes — Funchal and the rest of Madeira island take 9000-9099, while the Azores occupy 9400-9950 (9500 Ponta Delgada, 9700 Angra do Heroísmo). Both archipelagos share the leading 9 but are separate regions roughly 900 km apart.
Why is my 1000001 input rewritten as 1000-001?
The tool normalises every valid input to the canonical printed form: it strips separators, keeps the digits, and re-inserts the hyphen after the fourth digit. This makes copied codes from spreadsheets or forms usable immediately, without editing them by hand.
Tips & Advice
Use the tool as a sanity check before printing labels: if you type a code and the region that comes back contradicts the address city, one of the two is wrong, and it is almost always a transposed digit — 4100 is Porto while 1400 is Lisbon, a single swap that sends parcels 300 km off course. When you only know a city, enter its four-digit prefix alone to confirm the region before filling the rest. Portuguese envelopes put the postal code on the same line as the locality, after it (4400-123 Vila Nova de Gaia), and never before. Businesses integrating Portuguese addresses into forms should validate with the exact rule used here — four or seven digits, nothing else — and reject five- or six-digit strings early, because they are almost always Spanish or French codes pasted by mistake. The Azores deserve special care: all nine islands share the leading 9, but they are far apart — 9700 Angra do Heroísmo on Terceira and 9500 Ponta Delgada on São Miguel are a two-hour boat ride apart, so never treat the 9-band as one place. Finally, remember that new codes appear as districts grow: the curated table covers the twenty workhorse prefixes, but a code that falls back to "region only" is not necessarily invalid — verify it against the official CTT search before discarding it. One more habit worth adopting: store Portuguese codes as the plain seven digits in your database and format them only at display time, because the hyphen survives copy-paste from PDFs badly, inserting invisible characters that break strict validators downstream — this tool deliberately ignores every non-digit character so that such pastes still resolve cleanly. A final practical note for bulk imports: deduplicate against the normalised CP7 value, never against the raw string, because the same address frequently appears in one spreadsheet as 1000-001 and in another as 1000001, and treating those as two separate entries silently doubles every mailing count, postage estimate and label run that depends on the list afterwards.
Related Tools
Spain Codigo Postal Lookup
Find any Spanish postal code (codigo postal) by province or city. Search Correos
Portugal Holidays Checker
Check every Portugal public holiday in 2026: 13 national dates, Lisbon, Porto, M
Portugal IRS Calculator
Portugal IRS 2026 estimate: mainland brackets 13.25-48%, €4,104 employment deduc
Portugal IVA Calculator
Calculate Portugal's IVA (VAT) at 23%, 13% or 6%, with Madeira and Azores rates
Sources & References
Last reviewed: August 2026.
Limitations
This tool bundles a curated table of twenty major prefixes and the fixed first-digit region map — it is not the complete CTT street database. New codes appear as districts grow, and the CP3 segment (street, building, floor routing) is never interpreted offline. For legal or delivery-critical purposes, always confirm codes with the official CTT search linked in the sources.