Por Just Quality, desarrollo de software en Granada.

Datos personales

Generador de código postal español aleatorio

Genera códigos postales españoles aleatorios y ficticios con un prefijo provincial coherente.

Código postal

24438

Código postal español ficticio generado.

  • Provincia asociada por prefijo: León
  • Formato español: 5 dígitos.

Datos ficticios para pruebas. No uses esta herramienta para suplantar identidades ni crear cuentas reales.

Cinco cifras que casi nunca se guardan bien

El código postal es texto, no un número, y el 01001 de Vitoria lo demuestra cada vez que un sistema se come el cero de la izquierda. Cada código que genera esta página lleva un prefijo provincial correcto, así que sirve para probar también los filtros que dependen de él.

El código postal es el campo donde más se equivocan los formularios españoles. Guardarlo como número, validarlo con una expresión pensada para otro país o asumir que siempre son cinco cifras sin ceros son fallos que aparecen en cuanto se prueba con datos variados.

Prefijo postal de cada provincia

Los dos primeros dígitos de un código postal español identifican la provincia, y siguen el orden alfabético del nombre oficial: del 01 de Álava al 52 de Melilla. Esta tabla sirve tanto para saber a qué provincia pertenece un código como para comprobar que el prefijo generado encaja con la provincia esperada.

PrefijoProvinciaRango de códigos
01Álava01000 – 01999
02Albacete02000 – 02999
03Alicante03000 – 03999
04Almería04000 – 04999
05Ávila05000 – 05999
06Badajoz06000 – 06999
07Illes Balears07000 – 07999
08Barcelona08000 – 08999
09Burgos09000 – 09999
10Cáceres10000 – 10999
11Cádiz11000 – 11999
12Castellón12000 – 12999
13Ciudad Real13000 – 13999
14Córdoba14000 – 14999
15A Coruña15000 – 15999
16Cuenca16000 – 16999
17Girona17000 – 17999
18Granada18000 – 18999
19Guadalajara19000 – 19999
20Gipuzkoa20000 – 20999
21Huelva21000 – 21999
22Huesca22000 – 22999
23Jaén23000 – 23999
24León24000 – 24999
25Lleida25000 – 25999
26La Rioja26000 – 26999
27Lugo27000 – 27999
28Madrid28000 – 28999
29Málaga29000 – 29999
30Murcia30000 – 30999
31Navarra31000 – 31999
32Ourense32000 – 32999
33Asturias33000 – 33999
34Palencia34000 – 34999
35Las Palmas35000 – 35999
36Pontevedra36000 – 36999
37Salamanca37000 – 37999
38Santa Cruz de Tenerife38000 – 38999
39Cantabria39000 – 39999
40Segovia40000 – 40999
41Sevilla41000 – 41999
42Soria42000 – 42999
43Tarragona43000 – 43999
44Teruel44000 – 44999
45Toledo45000 – 45999
46Valencia46000 – 46999
47Valladolid47000 – 47999
48Bizkaia48000 – 48999
49Zamora49000 – 49999
50Zaragoza50000 – 50999
51Ceuta51000 – 51999
52Melilla52000 – 52999

El orden alfabético explica alguna sorpresa: Álava abre la lista con el 01 por su nombre en castellano, y las ciudades autónomas de Ceuta y Melilla cierran con el 51 y el 52 porque se incorporaron después. Los tres dígitos restantes concretan la zona de reparto dentro de la provincia, y ahí no hay una regla general: los asigna Correos.

Lo que conviene probar con estos códigos

  • Comprobar que el campo conserva el cero inicial de provincias como Álava o Barcelona.
  • Probar filtros y búsquedas por provincia a partir del prefijo postal.
  • Rellenar formularios de envío con códigos de formato correcto.

Prefijo real, código completo inventado

Solo los dos primeros dígitos, los de la provincia, son fiables. Los tres restantes se sortean entre 100 y 999, así que el código completo puede no corresponder a ninguna zona de reparto y nunca te saldrá uno acabado por debajo de 100, como el 28001 de Madrid.

Preguntas frecuentes

¿Cómo se lee un código postal español?

Las dos primeras cifras son la provincia, del 01 al 52 en orden alfabético, y las tres siguientes concretan la oficina y la zona de reparto dentro de ella. Por eso el 28 siempre es Madrid. Nosotros sorteamos primero la provincia y luego el resto, para que el prefijo nunca mienta.

¿Existe el código completo?

El prefijo sí, siempre. Las tres cifras finales las sacamos entre 100 y 999, de manera que la combinación entera puede no corresponder a ninguna zona de reparto y nunca vas a ver un código acabado en 001 ni en 050. Para probar el formato y los filtros por provincia da lo mismo. Para calcular una ruta de reparto, no vale.

¿Por qué mi formulario se come el cero?

Porque alguien guardó el código como número entero en lugar de como texto, y para un entero el 01001 y el 1001 son el mismo valor. Es el fallo más repetido de los formularios españoles. Solo lo ves si pruebas con las nueve provincias cuyo prefijo empieza por cero, así que genera unos cuantos hasta que salga uno de esos y mira qué ha guardado tu base de datos.