Cómo se usa
- Pegue el texto o el enlace en Texto o URL.
- Elija Codificar o Decodificar en Acción.
- Para un solo valor, como una palabra de búsqueda, deje Alcance en Un valor. Para un enlace completo, elija Una URL completa.
- Lea el Resultado, y la tabla Parámetros de consulta cuando el texto es un enlace con consulta.
Qué hace la codificación por porcentaje
Una dirección web solo puede contener un conjunto reducido de caracteres. Cada otro carácter se escribe como un signo % y dos dígitos hexadecimales por cada byte de su forma UTF-8. La letra ç, por tanto, se convierte en %C3%A7, y un espacio, en %20. Las reglas están en la RFC 3986, sección 2.1.
ç → bytes UTF-8 C3 A7 → %C3%A7
- Al codificar con Un valor se mantienen tal cual solo las letras de la A a la Z y de la a a la z, los dígitos del 0 al 9 y los caracteres - _ . ! ~ * ' ( ).
- Al decodificar, cada %XX válido vuelve a su byte, y los bytes vuelven a formar las letras que componen.
Un valor o una URL completa
Un valor codifica también los separadores (: / ? # & = y +), así que un valor de consulta no puede romper la estructura de la dirección. Una URL completa deja esos separadores tal como están, para que el enlace conserve su forma. Al decodificar una URL completa, un escape que representa un separador, como %2F, sigue codificado, para que el enlace signifique lo mismo.
Codificación de formulario y el signo +
Los formularios HTML escriben un espacio como + y un signo más como %2B. En una cadena de consulta escrita por un formulario, un + significa, por tanto, un espacio. La opción Codificación de formulario lee y escribe esa regla. Cuando está desactivada, un + sigue siendo un signo más, como dice la RFC 3986.
Lo que rechaza la decodificación
- Un signo % que no va seguido de dos dígitos hexadecimales, como el final de %E0%A4%A.
- Escapes que no forman UTF-8 válido, como un byte suelto %FF.
- Un carácter roto, como la mitad de un emoji, que no puede codificarse.
Ejemplo resuelto: un enlace de búsqueda
Al codificar el valor Ankara & İzmir? con Un valor se obtiene Ankara%20%26%20%C4%B0zmir%3F. El espacio, el ampersand, la I mayúscula con punto İ (dos bytes en UTF-8) y el signo de interrogación están todos codificados.
Al decodificar https://example.com/ara?q=%C3%A7ay+kahve&page=2 con Una URL completa y Codificación de formulario marcada, se obtiene https://example.com/ara?q=çay kahve&page=2. La consulta tiene dos parámetros: q es çay kahve y page es 2.
| Dato | Resultado |
|---|---|
| Ankara & İzmir? (un valor, codificar) | Ankara%20%26%20%C4%B0zmir%3F |
| https://example.com/ara?q=%C3%A7ay+kahve&page=2 (decodificar) | https://example.com/ara?q=çay kahve&page=2 |
Preguntas frecuentes
¿Cuál es la diferencia entre encodeURI y encodeURIComponent?
encodeURIComponent codifica todos los separadores, así que sirve para un valor de una consulta. encodeURI conserva los caracteres que dan estructura a una URL, como : / ? # & y =, así que sirve para un enlace completo. Un valor corresponde a la primera, y Una URL completa, a la segunda.
¿Por qué un espacio se convierte en %20 en un sitio y en + en otro?
%20 es el escape estándar de un espacio y es válido en cualquier parte de una URL. Un + significa espacio solo en la codificación de formulario, en las cadenas de consulta escritas por formularios HTML. Marque Codificación de formulario cuando el enlace venga de un formulario.
¿Por qué se rechaza %E0%A4%A?
El escape %E0 empieza una letra de tres bytes, pero el texto termina tras %A y el escape no está completo. Cada signo % necesita dos dígitos hexadecimales, y cada byte debe pertenecer a un carácter UTF-8 completo.
¿Se envía mi enlace a un servidor?
No. Su navegador hace la codificación y la decodificación, así que los enlaces que llevan tokens o datos privados se quedan en su dispositivo.
¿Por qué un signo más se queda en mis parámetros decodificados?
Con la codificación de formulario desactivada, un + sigue siendo un signo más, como lo define la RFC 3986. Muchos formularios web escriben los espacios como +, así que marque la opción para leer esos enlaces como los quiso el formulario.
Fuentes
- RFC 3986: identificador uniforme de recursos (URI), sintaxis genérica, sección 2.1, IETF (en inglés)
- ECMA-262: encodeURI, encodeURIComponent y decodeURI en la especificación ECMAScript (en inglés)
- Estándar URL de WHATWG: análisis de application/x-www-form-urlencoded (en inglés)
Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.