Codificador y decodificador de URLs
Se ejecuta en tu navegador; no se sube nada
Codifica texto con porcentajes para una URL, decodifícalo, o separa una URL en sus partes y sus parámetros de consulta.
Text
Encodes everything except letters, digits and - _ . ! ~ * ' ( ). Use it for one query value or path segment.
Encoded
The encoded text appears here as you type.
¿Qué es la codificación de URLs?
La codificación de URLs, también llamada codificación por porcentajes (RFC 3986), sustituye los caracteres que no están permitidos o que tienen un significado especial en una URL por un % seguido de dos dígitos hexadecimales. Un espacio se convierte en %20, & en %26 y / en %2F. Los demás caracteres se convierten primero en bytes UTF-8, así que é pasa a ser %C3%A9.
Importa porque algunos caracteres estructuran la propia URL. ? inicia el query string, & separa parámetros, = separa un nombre de su valor y # inicia el fragmento. Si un término de búsqueda contiene & y no se codifica, el servidor lo lee como el inicio de un parámetro nuevo.
Codifica cada valor por separado, no la URL entera. Si codificas una URL completa como valor, también se codifican su ://, sus / y su ?, y se rompe; para eso está el modo de URL completa, cuando solo necesitas arreglar espacios y tildes en una URL que por lo demás es correcta.
Cómo usar esta herramienta
- 1Elige Encode, Decode o Parse. Al cambiar se conserva tu texto; Swap (Alt+Shift+S) pasa la salida a la entrada y alterna entre Encode y Decode.
- 2Para codificar, elige qué es el texto: un valor (
encodeURIComponent), una URL completa (encodeURI) o datos de formulario, donde los espacios se convierten en+. La línea encima del editor dice exactamente qué caracteres conserva cada opción. - 3Para decodificar, pega el texto codificado. Activa + means space para datos de formulario y query strings enviados por formularios HTML. Si una secuencia está mal formada o no es UTF-8, queda marcada en el editor y F8 te lleva hasta ella.
- 4Si el resultado aún contiene
%XX, el texto se codificó dos veces; Decode again en la barra de estado lo decodifica una vez más. - 5Each line separately trata cada línea como un valor propio, para listas de valores. Parse separa una URL en esquema, host, puerto, ruta, fragmento y una tabla de parámetros de consulta decodificados, que puedes copiar como JSON.
Solución de problemas
%debe ir seguido de dos dígitos hexadecimales- El texto tiene un signo de porcentaje literal, como
100%, o una secuencia que quedó cortada. En una URL, un signo de porcentaje real se escribe%25. %E9no es UTF-8 válido en este punto- El texto lo codificó un codificador antiguo que usaba Latin-1 en lugar de UTF-8, así que
épasó a%E9en vez de%C3%A9. Vuelve a codificar el texto original o pide a quien lo envía que use UTF-8. - Un
+se convirtió en espacio, o un espacio siguió siendo+ +significa espacio solo en datos de formulario (application/x-www-form-urlencoded), como el query string que envía un formulario HTML. Activa o desactiva + means space según de dónde venga el texto.- No es una URL absoluta
- Parse necesita el esquema y el host, como
https://api.example.com. Rutas como/users?page=2son relativas a una página y no se pueden analizar por sí solas.
Preguntas frecuentes
¿Qué diferencia hay entre encodeURI y encodeURIComponent?
encodeURIComponent codifica todo excepto letras, dígitos y - _ . ! ~ * ' ( ), así que es el adecuado para un único valor. encodeURI deja intactos los caracteres que estructuran una URL, como : / ? # & = +, así que es el adecuado para una URL completa en la que solo hay que arreglar caracteres no seguros.
¿Un espacio debe ser %20 o +?
En una ruta y en la mayoría de las APIs, usa %20. + significa espacio solo en datos de formulario, que es lo que envían los navegadores en los formularios HTML y lo que usan muchos query strings. Al decodificar un query string generado por un formulario, activa + means space.
¿Por qué Parse muestra una URL distinta de la que pegué?
Parse usa el analizador de URLs del navegador, que normaliza la URL: pasa a minúsculas el esquema y el host, quita un puerto por defecto como :443 y codifica con porcentajes los espacios y los caracteres no ASCII. Copy URL copia esa forma normalizada.
¿Se envía mi entrada a un servidor?
No. La codificación, la decodificación y el análisis se ejecutan en tu navegador, y nada de lo que pegas se sube. Para que sobreviva a una recarga, lo que pegas se guarda en el almacenamiento de sesión de esta pestaña hasta que lo borras o cierras la pestaña. Copy link pone la entrada en el enlace después de #, una parte que los navegadores nunca envían a un servidor, pero cualquiera a quien le des el enlace podrá leerla.