These postcodes are structurally valid but fictional, for software testing and form design. This is not a Royal Mail postcode lookup: the Portsmouth districts are real, the full postcodes are not assigned to any address.
A random Portsmouth postcode generator combines a real Portsmouth postcode district with a generated inward code, producing a structurally valid postcode that is not assigned to any delivery point.
Every postcode on this page starts from a genuine Portsmouth postcode district. There are 6 of them, in the PO postcode area, and they all belong to the PORTSMOUTH post town in Hampshire. The three characters after the space are generated to the Royal Mail format rules, so a result validates in any form or database while belonging to no real property.
PO6 4YL — district PO6, sector PO6 4, PORTSMOUTH, HampshirePO3 7JG — district PO3, sector PO3 7, PORTSMOUTH, HampshirePO3 0NN — district PO3, sector PO3 0, PORTSMOUTH, HampshirePO2 8XB — district PO2, sector PO2 8, PORTSMOUTH, HampshirePO6 9WD — district PO6, sector PO6 9, PORTSMOUTH, HampshirePO1 3FH — district PO1, sector PO1 3, PORTSMOUTH, HampshireThis page produces postcodes on their own. For complete Portsmouth addresses — building number, street, locality, post town, Hampshire and postcode, laid out to Royal Mail conventions — use the random Portsmouth address generator.
A UK postcode splits into an outward code and an inward code. The outward code identifies the district; the inward code narrows it to a small group of properties. This generator keeps the first half real and generates the second, which is what makes the output safe to use and still valid.
Portsmouth sits in the PO postcode area. Every district below is a real outward code assigned to the PORTSMOUTH post town.
| District | Locality | Structural range |
|---|---|---|
| PO1 | — | PO1 0AA – PO1 9ZZ |
| PO2 | North End | PO2 0AA – PO2 9ZZ |
| PO3 | Hilsea | PO3 0AA – PO3 9ZZ |
| PO4 | Southsea | PO4 0AA – PO4 9ZZ |
| PO5 | Southsea | PO5 0AA – PO5 9ZZ |
| PO6 | Cosham | PO6 0AA – PO6 9ZZ |
The structural range is what the postcode grammar permits for each district, not a list of codes Royal Mail has issued. Which sectors and units are actually allocated is Postcode Address File data, which is licensed and not held here — so a generated postcode inside the range may well be unallocated. For test data that is the point.
A postcode carries more than a location. Reading one from Portsmouth tells you which country's addressing conventions apply, which ceremonial county the address sits in, and — if you need a matching telephone number — which dialling code area it falls in.
| Field | Value | Where it comes from |
|---|---|---|
| Post town | PORTSMOUTH | Royal Mail post town, written in capitals on the address |
| Postcode area | PO | The leading letters of every district above |
| Ceremonial county | Hampshire | ONS administrative geography |
| Country | England | One of the four countries of the United Kingdom |
| Region | South East England | ONS ITL1 statistical region |
| Dialling code | 023 | Ofcom National Telephone Numbering Plan |
Royal Mail has not required a county line on addressed mail since 1996. PORTSMOUTH plus a correct postcode is sufficient; Hampshire is included because plenty of address forms and legacy databases still expect a county.
What they are not for: sending post, verifying an identity, or implying that a property exists. If you need to know whether a Portsmouth address is deliverable, that is a licensed Royal Mail Postcode Address File lookup, and no generator can answer it.
The districts are real: all 6 of them are Royal Mail outward codes genuinely assigned to the PORTSMOUTH post town. The three characters after the space are generated, so the full postcode is almost certainly not allocated to any property. That combination is deliberate — the result resolves to Portsmouth in a district lookup and passes validation, but it is not a live delivery point and must never be used to send post.
6, in the PO postcode area: PO1, PO2, PO3, PO4, PO5, PO6. That is the count for the PORTSMOUTH post town as recorded in this site's registry; a post town does not follow council boundaries, so it may not match what a resident would call "Portsmouth".
PO. The postcode area is the leading letter or letters of the outward code, so every Portsmouth postcode begins PO — for example PO1. The digits that follow identify the district within the area.
This page generates postcodes on their own and explains Portsmouth's district structure. The Portsmouth address generator produces complete postal addresses — building number, street, locality, post town, county and postcode — laid out to Royal Mail conventions. Use this page when you need postcodes to test a postcode field; use the address generator when you need whole addresses.
Yes, with no API key. Call GET /api/v1/postcodes/random?location=portsmouth&count=25 for JSON. Add &seed=1 to get the same set back on every request, which keeps snapshot tests stable. The response carries the outward code, inward code, area, district and sector for each postcode alongside the post town and county.
Structural validation, yes: the format, the length and the excluded letters are all respected, so a correctly written regex or a library check will accept them. A validator backed by licensed Postcode Address File data will reject most of them, correctly, because the full postcode is not an allocated delivery point. If your test suite needs addresses that pass a PAF lookup, no generator can supply them.
Postcodes are generated on demand and never stored. They are for software testing and development only, and must not be used to send post, to imply a real address, or for identity verification.