✓ Sin registro 🔒 Todo en tu navegador Lotes de 1 a 100 · CSV y JSON

Generador de teléfonos peruanos de prueba

Celulares de nueve dígitos que empiezan por 9 y fijos con el código de área real de cada departamento, en formato internacional +51 o nacional. Con o sin separadores.

100 % privado. No hay servidor: los datos se generan en tu navegador y no se envían ni se guardan en ninguna parte.

Cómo funciona

Tres pasos, cero configuración

1

Elige fijo o celular

El celular peruano son nueve dígitos y siempre empieza por 9. El fijo lleva código de área: uno solo para Lima, dos para el resto del país.

2

Elige el formato

Internacional con +51, nacional con el cero delante, o solo los dígitos. Los tres se usan y cada uno rompe validaciones distintas.

3

Copia o exporta

El CSV trae el número en el formato elegido, el tipo de línea y el código de área por separado.

Cómo son los números peruanos

Perú tiene el indicativo internacional +51 y dos tipos de línea con estructuras muy distintas, y esa diferencia es la que causa la mayoría de los problemas de validación:

CelularFijo
LongitudSiempre 9 dígitosCódigo de área + 6 o 7 dígitos
Empieza porSiempre 9El código de área
Ejemplo nacional987 654 321(01) 234 5678
Ejemplo internacional+51 987 654 321+51 1 234 5678

La regla del 9 inicial es la validación más útil y la más olvidada: en Perú todos los celulares empiezan por 9, así que un número de nueve dígitos que empiece por otra cifra no es un celular peruano válido. Es una comprobación de una línea que atrapa muchos errores de tecleo.

Los códigos de área

Lima y Callao tienen un solo dígito —el 1—, mientras que el resto del país usa dos. Esa asimetría es la trampa: una validación que espera un código de área de dos dígitos rechaza a toda Lima, que es un tercio del país.

CódigoZonaCódigoZona
1Lima y Callao54Arequipa
44La Libertad (Trujillo)56Ica
74Lambayeque (Chiclayo)64Junín (Huancayo)
84Cusco52Moquegua
76Cajamarca82Madre de Dios

Si tu aplicación deduce la ciudad a partir del teléfono, o si aplica tarifas distintas por zona, necesitas datos con códigos de área reales. Los que genera esta herramienta lo son.

El cero que aparece y desaparece

Este es el detalle que más confusión genera. Para llamar dentro de Perú a otra ciudad se marca un cero delante del código de área: (01) para Lima, (074) para Chiclayo. Pero cuando el número se escribe en formato internacional, ese cero desaparece:

// El MISMO teléfono de Lima, en tres formatos:
"(01) 234 5678"      // nacional, con el cero de tránsito
"+51 1 234 5678"     // internacional: el cero NO va
"+5101234 5678"      // ← INCORRECTO: el cero sobra

// Normalizar a E.164 antes de guardar:
function aE164(tel) {
  let d = tel.replace(/[^\d]/g, "");        // fuera espacios, guiones, paréntesis
  if (d.startsWith("51")) d = d.slice(2);   // ya traía el país
  if (d.startsWith("0")) d = d.slice(1);    // fuera el cero de tránsito
  return "+51" + d;
}

aE164("(01) 234 5678")     // "+5112345678"
aE164("+51 987 654 321")   // "+51987654321"
aE164("0987654321")        // "+51987654321"

Guardar todo en formato E.164 —el +51 seguido de los dígitos, sin espacios ni nada más— es lo que recomiendan las pasarelas de SMS y las centrales telefónicas, y resuelve de una vez el problema de la misma línea guardada de cinco maneras distintas.

Qué probar con teléfonos sintéticos

  • Los tres formatos. Con +51, con cero nacional y solo dígitos. El mismo número debe entrar una sola vez en tu base de datos.
  • Lima frente a provincias. Un código de área de un dígito y otro de dos. La validación de longitud fija falla aquí.
  • Celular que no empieza por 9. Debería rechazarse. Es la validación más rentable de este campo.
  • El campo como número. Un teléfono no es un número: lleva el signo más, puede empezar por cero y no se hacen operaciones con él. Guárdalo como texto.
  • Espacios y paréntesis pegados. La gente copia el teléfono de un correo o de una web, con el formato que traiga. Normaliza, no rechaces.
  • Envío de SMS. Si tu sistema manda mensajes, comprueba que el número que le pasa a la pasarela está en E.164. Es la causa número uno de SMS que no llegan.

Números con formato válido, líneas inexistentes

Los teléfonos que genera esta herramienta tienen la estructura y el código de área correctos, así que pasan cualquier validación de formato. Pero los dígitos finales son aleatorios: no son líneas asignadas a nadie. No llames ni mandes mensajes a ellos en una prueba real de envío, porque en el mejor de los casos no existirán y en el peor molestarás a alguien por casualidad. Para probar envíos, usa los números de prueba que te dé tu pasarela de SMS.

Preguntas frecuentes

Dudas habituales

¿Los teléfonos generados existen?

Tienen la estructura y el código de área correctos, pero los dígitos finales son aleatorios y no corresponden a líneas asignadas. No los uses para pruebas reales de envío de SMS o llamadas: para eso están los números de prueba de tu pasarela.

¿Todos los celulares peruanos empiezan por 9?

Sí, y es la validación más útil de este campo: un número de nueve dígitos que no empiece por 9 no es un celular peruano válido. Una comprobación de una línea que atrapa muchos errores de tecleo.

¿Por qué a veces el código de área lleva un cero delante?

El cero es de tránsito: se marca para llamar de una ciudad a otra dentro de Perú. En formato internacional, con +51, ese cero no va. Es la causa más común de números guardados en dos formatos distintos que en realidad son el mismo.

¿Cuál es el código de área de Lima?

El 1, y es el único de un solo dígito: el resto del país usa dos. Esa asimetría rompe las validaciones de longitud fija, y es un caso de prueba obligatorio en cualquier aplicación peruana.

¿Qué formato debo guardar en la base de datos?

E.164: el signo más, el 51 y los dígitos, sin espacios ni separadores. Es lo que esperan las pasarelas de SMS y las centrales telefónicas, y evita tener la misma línea guardada de varias formas.

¿Puedo generar 100 y exportarlos?

Sí, en lotes de 1, 10, 50 o 100, en CSV o JSON, con el número, el tipo de línea y el código de área en columnas separadas.