Si necesitas separar y editar una lista completa de parámetros —incluidas claves repetidas— usa el analizador y constructor de query strings. Esta página se centra en codificar o descodificar correctamente una capa concreta de texto.
Ejemplos verificables
En modo Componente URL, el texto café y té se convierte en:
caf%C3%A9%20y%20t%C3%A9
En modo Valor de formulario/query, la misma entrada produce:
caf%C3%A9+y+t%C3%A9
La diferencia está en el espacio: percent-encoding usa %20, mientras que la
serialización application/x-www-form-urlencoded usa +. El modo URL o
ruta completa conserva separadores como :, /, ?, &, = y # para
no destruir la estructura de la dirección.
Qué modo debes elegir
Usa Componente URL para el valor de un parámetro, un nombre o un segmento aislado. Conserva únicamente los caracteres no reservados de RFC 3986 y escapa los separadores que tendrían significado dentro de una URL.
Usa URL o ruta completa cuando ya tienes la dirección estructurada. Este
modo se comporta como encodeURI y mantiene sus delimitadores. No comprueba
que el dominio exista ni realiza una petición: solo transforma el texto.
Usa Valor de formulario/query cuando el sistema receptor aplica
application/x-www-form-urlencoded, como URLSearchParams o muchos
formularios HTML. En este modo + representa un espacio al decodificar. En el
modo componente, por el contrario, + sigue siendo un signo más literal.
Una sola capa por operación
La herramienta codifica o decodifica exactamente una capa. Si introduces
%20 en un codificador de componentes, el % se convierte en %25 y el
resultado es %2520. Al decodificarlo una vez reaparece %20; hace falta una
segunda operación para obtener el espacio.
Cuando detecta una secuencia %HH antes de codificar o después de decodificar,
la interfaz muestra una advertencia de posible doble codificación. Es una
señal, no una certeza: una aplicación puede necesitar transportar literalmente
ese texto. Revisa el contrato del sistema antes de aplicar otra capa.
La guía cómo detectar una URL codificada dos
veces explica un procedimiento con
%2520, %252F y parámetros anidados.
Validación y errores
- Cada
%debe ir seguido de dos dígitos hexadecimales. - Los bytes percent-encoded deben formar UTF-8 válido.
- El modo componente exige que los caracteres no ASCII estén codificados.
- Una unidad Unicode aislada se rechaza antes de codificar.
- La entrada vacía y más de 1.000.000 de caracteres se rechazan.
- El decodificador nunca repite automáticamente la operación.
Un error URI malformed suele proceder de un % incompleto, un byte UTF-8
ausente o una unidad Unicode aislada. Puedes seguir el diagnóstico de cómo
corregir URI malformed y comparar las
funciones en encodeURI frente a
encodeURIComponent.
Privacidad y límites
Todo se calcula dentro de esta pestaña. La entrada no se guarda, no se añade a la dirección del navegador, no se envía a Tools in a Tab y no genera una petición de procesamiento. La herramienta no ordena parámetros, no resuelve dominios, no sigue redirecciones y no valida reglas propias de una API.
Preguntas frecuentes
¿Debo codificar una URL completa con encodeURIComponent?
Normalmente no. Escaparía :, /, ?, &, = y #, destruyendo la
estructura. Para una dirección ya construida usa el modo de URL completa; para
un valor individual usa el modo componente.
¿Por qué + a veces significa espacio?
Es una regla de la serialización de formularios, no del percent-encoding genérico. Selecciona el modo según el origen de la cadena.
¿La advertencia confirma que hay doble codificación?
No. Indica que queda o ya existía una secuencia con forma %HH. Comprueba si
esa secuencia debía representar un carácter o viajar literalmente.
Referencias técnicas
Los componentes y caracteres reservados se definen en RFC 3986. La serialización de formularios se especifica en el WHATWG URL Standard.