Codificar y decodificar URL online — Codificación por porcentaje
Codificador y decodificador de URL por porcentaje que maneja Unicode y emojis
Funciona en tu navegador · no se sube nada
Qué es
En una URL solo pueden aparecer tal cual las letras, los dígitos y unos pocos símbolos. Todo lo demás, como la ñ, las tildes, otros alfabetos, los espacios o los emojis, se convierte a bytes UTF-8 y cada byte se escribe como % seguido de dos dígitos hexadecimales. Eso es la codificación por porcentaje. Esta herramienta muestra el resultado codificado o decodificado mientras escribes.
Cómo se usa
- Elige Codificar o Decodificar.
- Elige el alcance: encodeURIComponent para un único valor de consulta y encodeURI para una URL completa.
- Pega un texto o una URL en la entrada y el resultado aparece al momento.
- Al decodificar datos de formulario, marca la opción de tratar + como espacio.
- Copia el resultado o pulsa Usar el resultado como entrada para comprobar la ida y vuelta.
Cómo funciona
- El trabajo lo hacen las funciones propias del navegador
encodeURIComponent,encodeURI,decodeURIComponentydecodeURI, que siguen las reglas de la RFC 3986. - Primero el texto se convierte en bytes UTF-8. Una letra con tilde o la ñ ocupan 2 bytes, así que verás dos grupos
%XX; un carácter coreano o chino ocupa 3, así que verás tres, y un emoji ocupa 4. - Los caracteres que no se escapan son
A-Z a-z 0-9 - _ . ! ~ * ' ( ). encodeURI deja además tal cual; , / ? : @ & = + $ #. - Un carácter sustituto (surrogate) sin pareja no se puede codificar y se indica como error.
- Una decodificación fallida nunca se repara sin avisar; en su lugar verás un mensaje de error.
Ejemplos
| Entrada | Modo | Resultado |
|---|---|---|
a b&c=d |
Componente | a%20b%26c%3Dd |
año |
Componente | a%C3%B1o |
中文 |
Componente | %E4%B8%AD%E6%96%87 |
👍 |
Componente | %F0%9F%91%8D |
https://example.com/검색?q=a b |
URL completa | https://example.com/%EA%B2%80%EC%83%89?q=a%20b |
Preguntas frecuentes
¿Qué diferencia hay entre encodeURIComponent y encodeURI?
encodeURIComponent es para una sola pieza, como el valor de un parámetro de consulta, así que también escapa los separadores / ? & = y #. encodeURI es para una URL completa y deja esos separadores como están.
¿Por qué me da un error al decodificar?
Detrás de cada % tiene que haber dos dígitos hexadecimales, y los bytes resultantes deben formar UTF-8 válido. Comprueba que la cadena no esté cortada a la mitad y que no haya un % literal sin escapar en el texto.
¿Un espacio debe ser %20 o +?
En la ruta de una URL es %20. El signo + solo significa espacio en la codificación de formularios HTML (application/x-www-form-urlencoded). Activa la opción del signo más al decodificar ese tipo de datos.
¿Se envía mi URL a un servidor?
No. Todo ocurre en tu navegador.