Qué hace
La codificación URL, también llamada codificación porcentual (percent-encoding), 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 pasa a %20, un ampersand a %26, y el texto no ASCII como 中文 se convierte primero a bytes UTF-8 y luego cada byte se escribe como %XX.
Esta herramienta codifica texto para que puedas ponerlo con seguridad en una query string, un segmento de ruta o una petición a una API, y decodifica cadenas con codificación porcentual que hayas copiado de logs, de la barra de direcciones del navegador o de trazas HTTP para devolverlas a texto legible.
Cómo se usa
- Pega texto o una URL en el cuadro Entrada, o haz clic en Ejemplo.
- Elige Codificar o Decodificar.
- Al codificar, elige Componente para codificar un único valor (por ejemplo, un término de búsqueda) o URL completa para mantener intactos
:,/,?,&y=. - Activa Espacio como + para datos de formularios HTML, y Cada línea por separado para procesar una lista de valores de una vez.
- Copia o descarga el resultado. Si la decodificación falla, el error te indica la posición de la secuencia de escape incorrecta.
Ejemplo
Codificar el término de búsqueda hello world & more como componente da:
hello%20world%20%26%20more
Decodificar q=%E4%BD%A0%E5%A5%BD da q=你好.
Cuándo usar cada opción
- Para construir una query string a mano: codifica cada valor como componente y luego únelos con
&y=. - Para limpiar un enlace completo que contiene espacios o caracteres chinos: usa URL completa para que se conserve la estructura del enlace.
- Para leer logs de servidor: decodifica con Espacio como + activado, porque muchos servidores registran los datos de formularios en ese formato.
Preguntas frecuentes
› ¿Qué diferencia hay entre «Componente» y «URL completa»?
Componente codifica todos los caracteres reservados, incluidos / ? & = y #, así que el resultado es seguro dentro de un único parámetro de consulta o segmento de ruta. Equivale a encodeURIComponent de JavaScript. URL completa conserva esos caracteres para que la dirección siga funcionando como enlace, igual que encodeURI.
› ¿Los espacios deben pasar a %20 o a +?
Usa %20 para rutas y la mayoría de las APIs. Usa + solo para datos de formularios HTML (application/x-www-form-urlencoded), que es lo que envían los navegadores al enviar un formulario. Activa "Espacio como +" para ese caso.
› ¿Por qué obtengo "not valid UTF-8" al decodificar?
Los bytes %XX no forman un carácter UTF-8 completo, normalmente porque el texto se cortó en mitad de un carácter multibyte o se codificó con un juego de caracteres antiguo como GBK o Latin-1.
› ¿Se envían mis datos a un servidor?
No. La codificación y la decodificación se ejecutan por completo en tu navegador.