Qué hace esta herramienta
Una URL solo puede llevar un conjunto pequeño de caracteres sencillos. Todo lo demás, como un espacio, una tilde, un emoji o un carácter con significado en la sintaxis de la URL, se escribe con un signo de porcentaje y dos dígitos hexadecimales por cada byte: un espacio es %20 y "é" es %C3%A9. La herramienta tiene tres pestañas. Codificar convierte el texto a esa forma, Decodificar lo devuelve y te dice exactamente qué escape está roto, y Analizar URL separa una dirección en esquema, usuario, host, puerto, ruta, consulta y fragmento, lista los parámetros en un pequeño editor y reconstruye la URL mientras los cambias.
Tres tipos de codificación
El mismo texto se puede codificar de tres maneras, y elegir mal es el error más común.
- Componente (
encodeURIComponent) codifica todo menos letras, dígitos y - _ . ! ~ * ' ( ). Úsalo para un valor que va dentro de una URL, como un término de búsqueda. a/b?c=d&e pasa a a%2Fb%3Fc%3Dd%26e. - URL completa (
encodeURI) deja además ; , / ? : @ & = + $ #, así que una dirección completa conserva su forma: el mismo texto sigue siendo a/b?c=d&e. Es incorrecto para un valor suelto, porque un & o un = dentro se leería como sintaxis. - Formulario es lo que escriben los formularios HTML y
URLSearchParams: el espacio pasa a + y también se codifican ~ ! ' ( ). "café au lait & crème" queda caf%C3%A9+au+lait+%26+cr%C3%A8me.
Los tres trabajan con bytes UTF-8, así que un emoji (un par sustituto en JavaScript) ocupa cuatro bytes: 😀 es %F0%9F%98%80. La mitad suelta de un par sustituto no tiene forma UTF-8, y la función de JavaScript lanza "URI malformed"; esta herramienta indica la posición.
Decodificar y qué puede fallar
Decodificar revierte cada escape. Un signo más solo es un espacio en el estilo de formulario, y %2B es siempre un más. Hay dos fallos: un % sin dos dígitos hex detrás (100%, %zz), y escapes que no forman UTF-8 válido, como %C3%28. La herramienta nombra cada problema con su posición y deja lo que no pudo decodificar tal cual, para que veas dónde está. Activa "Parar en el primer error" si prefieres no tener salida cuando algo falla. Si el resultado aún contiene escapes, como %2520 que pasa a %20, probablemente se codificó dos veces y un botón lo decodifica otra vez.
Desglosar una URL
El analizador separa primero la dirección tal como la escribiste, según la RFC 3986, y después compara cada parte con lo que hace el analizador URL del navegador y muestra la diferencia debajo: el puerto 443 por defecto se elimina, el ./ de la ruta se resuelve y un host como münchen.de se escribe xn--mnchen-3ya.de. Una consulta vacía (?) no es lo mismo que no tener consulta.
Editar la cadena de consulta
Cada parámetro es una fila con nombre y valor. Se conservan el orden y los nombres repetidos; los parámetros que no tocas vuelven tal como estaban escritos, y los editados se codifican con %20 o con + si la consulta ya lo usaba. Reordena, elimina o añade filas y copia la URL reconstruida. Mira también la herramienta Base64 y el formateador JSON cuando un parámetro contenga datos codificados. Todo se ejecuta en tu navegador, no se sube nada y nunca se abre un enlace por ti.