These postcodes are structurally valid but fictional, for software testing and form design. This is not a Royal Mail postcode lookup: the Birmingham districts are real, the full postcodes are not assigned to any address.
A random Birmingham postcode generator combines a real Birmingham 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 Birmingham postcode district. There are 39 of them, in the B postcode area, and they all belong to the BIRMINGHAM post town in West Midlands. 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.
B15 7UP — district B15, sector B15 7, BIRMINGHAM, West MidlandsB16 0LL — district B16, sector B16 0, BIRMINGHAM, West MidlandsB29 3JL — district B29, sector B29 3, BIRMINGHAM, West MidlandsB1 6HJ — district B1, sector B1 6, BIRMINGHAM, West MidlandsB23 8GW — district B23, sector B23 8, BIRMINGHAM, West MidlandsB26 8FX — district B26, sector B26 8, BIRMINGHAM, West MidlandsThis page produces postcodes on their own. For complete Birmingham addresses — building number, street, locality, post town, West Midlands and postcode, laid out to Royal Mail conventions — use the random Birmingham 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.
Birmingham sits in the B postcode area. Every district below is a real outward code assigned to the BIRMINGHAM post town.
| District | Locality | Structural range |
|---|---|---|
| B1 | — | B1 0AA – B1 9ZZ |
| B2 | — | B2 0AA – B2 9ZZ |
| B3 | Colmore Business District | B3 0AA – B3 9ZZ |
| B4 | Aston Triangle | B4 0AA – B4 9ZZ |
| B5 | Highgate | B5 0AA – B5 9ZZ |
| B6 | Aston | B6 0AA – B6 9ZZ |
| B7 | Nechells | B7 0AA – B7 9ZZ |
| B8 | Washwood Heath | B8 0AA – B8 9ZZ |
| B9 | Bordesley Green | B9 0AA – B9 9ZZ |
| B10 | Small Heath | B10 0AA – B10 9ZZ |
| B11 | Sparkhill | B11 0AA – B11 9ZZ |
| B12 | Balsall Heath | B12 0AA – B12 9ZZ |
| B13 | Moseley | B13 0AA – B13 9ZZ |
| B14 | Kings Heath | B14 0AA – B14 9ZZ |
| B15 | Edgbaston | B15 0AA – B15 9ZZ |
| B16 | Ladywood | B16 0AA – B16 9ZZ |
| B17 | Harborne | B17 0AA – B17 9ZZ |
| B18 | Winson Green | B18 0AA – B18 9ZZ |
| B19 | Lozells | B19 0AA – B19 9ZZ |
| B20 | Handsworth Wood | B20 0AA – B20 9ZZ |
| B21 | Handsworth | B21 0AA – B21 9ZZ |
| B23 | Erdington | B23 0AA – B23 9ZZ |
| B24 | Tyburn | B24 0AA – B24 9ZZ |
| B25 | Yardley | B25 0AA – B25 9ZZ |
| B26 | Sheldon | B26 0AA – B26 9ZZ |
| B27 | Acocks Green | B27 0AA – B27 9ZZ |
| B28 | Hall Green | B28 0AA – B28 9ZZ |
| B29 | Selly Oak | B29 0AA – B29 9ZZ |
| B30 | Bournville | B30 0AA – B30 9ZZ |
| B31 | Northfield | B31 0AA – B31 9ZZ |
| B32 | Quinton | B32 0AA – B32 9ZZ |
| B33 | Stechford | B33 0AA – B33 9ZZ |
| B34 | Shard End | B34 0AA – B34 9ZZ |
| B35 | Castle Vale | B35 0AA – B35 9ZZ |
| B36 | Castle Bromwich | B36 0AA – B36 9ZZ |
| B38 | Kings Norton | B38 0AA – B38 9ZZ |
| B42 | Perry Barr | B42 0AA – B42 9ZZ |
| B43 | Great Barr | B43 0AA – B43 9ZZ |
| B44 | Kingstanding | B44 0AA – B44 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 Birmingham 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 | BIRMINGHAM | Royal Mail post town, written in capitals on the address |
| Postcode area | B | The leading letters of every district above |
| Ceremonial county | West Midlands | ONS administrative geography |
| Country | England | One of the four countries of the United Kingdom |
| Region | West Midlands | ONS ITL1 statistical region |
| Dialling code | 0121 | Ofcom National Telephone Numbering Plan |
Royal Mail has not required a county line on addressed mail since 1996. BIRMINGHAM plus a correct postcode is sufficient; West Midlands 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 Birmingham address is deliverable, that is a licensed Royal Mail Postcode Address File lookup, and no generator can answer it.
The districts are real: all 39 of them are Royal Mail outward codes genuinely assigned to the BIRMINGHAM 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 Birmingham in a district lookup and passes validation, but it is not a live delivery point and must never be used to send post.
39, in the B postcode area: B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14, B15, B16, B17, B18, B19, B20, B21, B23, B24, B25, B26, B27, B28, B29, B30, B31, B32, B33, B34, B35, B36, B38, B42, B43, B44. That is the count for the BIRMINGHAM 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 "Birmingham".
B. The postcode area is the leading letter or letters of the outward code, so every Birmingham postcode begins B — for example B1. The digits that follow identify the district within the area.
This page generates postcodes on their own and explains Birmingham's district structure. The Birmingham 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=birmingham&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.