URL

Informe de validación

¿Qué es el Validador de URL?

Pegas una URL y recibes un informe estructurado: si está bien formada, qué pinta tiene cada componente y qué deberías vigilar. El validador pasa la URL por el constructor URL nativo del navegador — que implementa el estándar WHATWG URL — y luego añade comprobaciones por componente encima.

Una "URL válida" no es solo una que se parsea. Una URL como http://10.0.0.5/admin?token=abc123 se parsea sin problemas, pero tiene tres cosas que probablemente quieras señalar: http:// en lugar de https://, una IP literal como host y un token en la query. El validador saca las tres como avisos, separadas del check de pasa/falla. Las reglas de sintaxis subyacentes vienen de RFC 3986; las consideraciones sobre nombres de host vienen de RFC 1034 y de la experiencia operativa.

La salida es JSON, así que puedes encadenarlo en un script de CI o en un log de depuración. Todo se ejecuta en tu navegador — la URL nunca sale de tu máquina. Si quieres la URL desglosada en componentes sin la capa de validación, usa el URL Parser. Los nombres de dominio internacionalizados se manejan según las reglas IDNA.

Cómo usar el Validador de URL

Tres pasos. Cada uno corresponde a un botón de esta página.

1

Pega una URL o carga el ejemplo

Suelta una URL en el panel izquierdo. Pulsa Ejemplo para cargar una URL limpia y bien formada con parámetros codificados con porcentaje:

https://api.shop.example.com/v1/orders?customer=Ava%20Chen&status=active

El validador se actualiza según escribes. Prueba casos límite: URLs con http://, hosts con IP literal, URLs con credenciales, hosts de una sola etiqueta (sin TLD), dominios Punycode. Cada uno saca un aviso distinto.

2

Lee el informe

El panel derecho muestra un informe JSON con tres campos de nivel superior: isValid (si la URL se parseó), checks (estado por componente — protocolo, hostname, puerto, pathname) y warnings (avisos que no son errores de sintaxis pero que probablemente te importan).

3

Copia o descarga

Pulsa Copiar para mandar el informe JSON al portapapeles, o Descargar para guardarlo como .json. Minificar compacta el informe en una sola línea si lo necesitas para una entrada de log.

Cuándo lo usarías de verdad

Auditar un fichero de configuración antes de desplegar

La config de tu servicio tiene 40 URLs — endpoints de webhook, callbacks de OAuth, integraciones de terceros. Una tiene una contraseña incrustada de un test olvidado, dos siguen apuntando a hosts http:// de staging. Pasarlas una a una por el validador caza las tres antes de que salgan a producción. Las dependencias del formato de URL también aparecen en la spec de OAuth 2.0 para los redirect URIs.

Revisar URLs enviadas por usuarios en un formulario

Un usuario envía un campo "sitio web" que resulta ser example — sin protocolo, sin TLD, solo una palabra. O https://192.168.1.5 — parece válida, parsea válida, pero casi seguro que no quieres renderizar eso como enlace de perfil. El validador saca ambas: aviso de TLD-faltante en la primera, aviso de host-IP-literal en la segunda.

Diagnosticar por qué falla un redirect

Tu callback de OAuth devuelve 400 con "invalid redirect_uri." La URL parece bien en el navegador. La pegas en el validador y lo ves: la ruta tiene un espacio literal y tu proveedor de auth compara strings byte a byte tras la canonicalización. El aviso ("la ruta contiene un espacio sin codificar") era la respuesta.

Detectar un desajuste Punycode vs Unicode

Esperabas ver münchen.example.com en el informe y en su lugar viste xn--mnchen-3ya.example.com. Esa es la forma Punycode — lo que se manda por el cable — y el validador la marca para que sepas que la entrada original tenía caracteres no ASCII. Útil cuando un usuario en un bug report copió y pegó una URL de un dominio IDN.

Preguntas frecuentes

¿Qué significa "válida" aquí en realidad?

Dos capas. isValid: true significa que el constructor URL del navegador acepta la entrada — es decir, la sintaxis está bien formada según el estándar WHATWG URL. warnings es algo aparte: cosas que son sintácticamente válidas pero probablemente no son lo que quieres (protocolo inseguro, IP literal, credenciales incrustadas, TLD ausente, etc.). Una URL puede ser válida y aún así tener avisos.

¿Comprueba si la URL realmente resuelve a algo?

No — eso requeriría una petición de red, y esta herramienta corre entera en tu navegador sin llamadas salientes. El validador solo comprueba sintaxis y heurísticas superficiales. Para chequeos de alcanzabilidad, usa curl -I o una herramienta de uptime dedicada.

¿Por qué http://example.com sale como aviso?

Porque en 2026 una URL en plano es casi siempre un error — los navegadores modernos avisan al usuario antes de enviar formularios sobre http://, el artículo "why HTTPS matters" de Google cubre la versión larga, y los dominios con HSTS preload se negarán a cargar sobre HTTP. El aviso es informativo; si de verdad quieres http:// (intranet legacy, dev local), ignóralo.

¿Y las URLs relativas como /api/orders?

El constructor URL necesita una URL absoluta — sin una base, no puede determinar el protocolo o el host. El validador devuelve isValid: false con un error claro en ese caso. Para validar una URL relativa, antepónle una base como https://example.com primero.

¿Las credenciales en URLs siempre están mal?

Casi siempre. RFC 3986 §3.2.1 indica que las credenciales en URLs están desaconsejadas por motivos de seguridad. Acaban en el historial del navegador, en logs de acceso del servidor y en cachés de proxy. Los navegadores modernos las quitan en silencio al pegar desde el portapapeles. El validador las señala para que tengas constancia explícita antes de que se filtren a algún sitio donde no deberían.

¿Le importa los dominios IDN?

Sí — el validador anota si el hostname está en forma Punycode (xn--...) o ASCII puro. Los navegadores pueden mostrar la forma Unicode al usuario mientras transmiten la forma Punycode por la red, que es el origen de los ataques homógrafos IDN. Sacar el Punycode es una señal pequeña pero útil.

Otras herramientas de URL y JSON

La validación es una operación. Esto es lo que combina bien con ella: