IP Validator

Verifica si una cadena es una IPv4 o IPv6 válida.

toolboox.app/herramientas/ip-validator

Herramienta

✓ IPv4 válida

Qué problema resuelve

Validar entradas de formularios o logs sin escribir regex complejas.

Validar una dirección IP antes de guardarla en base de datos, aceptarla en un formulario o inyectarla en una regla de firewall evita errores silenciosos que solo aparecen en producción. Este validador de IP comprueba en el propio navegador si una cadena cumple el formato IPv4 (RFC 791) o IPv6 (RFC 4291), detecta notación CIDR y distingue direcciones privadas, públicas, loopback y multicast. No se envía ningún dato a un servidor: todo el análisis ocurre en JavaScript local.

Qué hace válida a una dirección IPv4

Una IPv4 válida consta de cuatro octetos separados por puntos, cada uno entre 0 y 255, sin ceros a la izquierda ambiguos (01 es rechazado por muchos parsers estrictos aunque algunos lo acepten). Errores típicos son escribir 256.1.1.1 (octeto fuera de rango), dejar menos de cuatro grupos o incluir espacios. El validador aplica una expresión regular estricta y además reconstruye el valor decimal de cada octeto para confirmar el rango, algo que una regex simple \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} no garantiza por sí sola.

Sintaxis de IPv6 y sus formas comprimidas

IPv6 usa ocho grupos de 16 bits en hexadecimal separados por dos puntos, como 2001:0db8:85a3:0000:0000:8a2e:0370:7334. La compresión :: sustituye una única secuencia de grupos en cero, y solo puede aparecer una vez en toda la dirección: 2001::85a3::7334 es inválida por tener dos. También son válidas las formas mixtas que terminan en notación IPv4, como ::ffff:192.168.1.1, usadas para representar direcciones IPv4-mapped. El validador normaliza y expande la dirección para mostrarte la forma completa junto a la comprimida.

Detección de rangos privados, loopback y reservados

Además de validar sintaxis, la herramienta clasifica la IP: privadas RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback (127.0.0.0/8 en IPv4, ::1 en IPv6), enlace local (169.254.0.0/16, fe80::/10) y multicast (224.0.0.0/4, ff00::/8). Esta clasificación es la misma que aplican los firewalls y los WAF para decidir si una IP de origen puede ser legítima o si un X-Forwarded-For viene falsificado desde una red privada que nunca debería llegar a Internet.

CIDR: validar dirección + prefijo en una sola cadena

Cuando el valor incluye una barra, como 192.168.1.0/24 o 2001:db8::/32, el validador comprueba también que el número de prefijo sea coherente con la familia (0-32 en IPv4, 0-128 en IPv6) y that los bits de host no estén activados si esperas una dirección de red exacta. Para desglosar red, broadcast y hosts utilizables de un CIDR concreto, usa la calculadora CIDR del sitio, que complementa a este validador.

Casos límite que rompen validadores caseros

Muchas regex publicadas en foros fallan con IPv4 de un solo dígito por octeto (1.2.3.4), con IPv6 totalmente comprimida (::), con la dirección ::0.0.0.0 o con mayúsculas mezcladas en hexadecimal (2001:DB8::1, técnicamente válido pero poco habitual). Otro fallo común es aceptar direcciones con puerto incluido, como 192.168.1.1:8080, que no es una IP válida sino un socket; este validador las rechaza explícitamente y te avisa de que debes separar el puerto.

Uso en formularios, APIs y scripts de automatización

Antes de exponer un endpoint que acepta una IP como parámetro (por ejemplo para reglas de firewall dinámicas o allowlists de API), valida el formato en el cliente y repite la validación en el servidor: nunca confíes solo en JavaScript. En scripts Bash o PowerShell que reciben IPs como argumento, aplica la misma lógica antes de pasarlas a iptables, New-NetFirewallRule o a un Get-Content de listas negras, para evitar inyecciones de comandos disfrazadas de direcciones IP.

Casos de uso comunes

  • Validar el campo IP de un formulario de alta de servidores antes de enviarlo.
  • Comprobar rápidamente si una IP recibida en un log es pública o privada.
  • Verificar la sintaxis de un rango CIDR antes de aplicarlo en un firewall.
  • Depurar por qué una IPv6 introducida a mano no se acepta en una API.
  • Confirmar que una lista de IPs pegada desde un CSV no tiene errores tipográficos.

Buenas prácticas

  • Valida siempre en cliente y servidor; el navegador no es una barrera de seguridad.
  • Distingue IPv4 e IPv6 explícitamente en tus esquemas de validación (JSON Schema, Zod).
  • Normaliza IPv6 a su forma comprimida canónica antes de comparar o almacenar.
  • Rechaza IPs con puerto incluido y pide separarlos en campos distintos.
  • Registra la clasificación (privada/pública) junto a la IP para auditorías de seguridad.

Preguntas frecuentes

¿Por qué mi IP con ceros a la izquierda no se valida?

Formatos como `192.168.001.1` son ambiguos porque algunos sistemas los interpretan como octal. La mayoría de validadores modernos, incluido este, los rechazan para evitar bypasses de seguridad conocidos.

¿Puede una dirección tener dos veces `::`?

No. La compresión `::` solo puede usarse una vez en una IPv6 porque de lo contrario sería imposible saber cuántos grupos cero representa cada aparición.

¿192.168.1.1/24 es una IP válida o un CIDR?

Es una notación CIDR: dirección más prefijo de red. Como IP aislada es válida, pero al incluir el prefijo debe interpretarse como un bloque de red, no como un host único.

¿Qué diferencia hay entre 127.0.0.1 y 0.0.0.0?

127.0.0.1 es loopback, apunta siempre a la propia máquina. 0.0.0.0 es una dirección comodín que en servidores significa 'escuchar en todas las interfaces', no un host real.

¿Las direcciones IPv6 distinguen mayúsculas y minúsculas?

No a nivel de validez, pero la forma canónica recomendada por RFC 5952 usa minúsculas para los dígitos hexadecimales.