Codificador / decodificador de URL
Cómo funciona
Pega una URL o cualquier texto y elige Codificar para aplicar la codificación porcentual, o pega una cadena ya codificada y elige Decodificar para recuperar el original. El resultado se actualiza mientras escribes y con Copiar lo llevas al portapapeles.
Hay dos modos. URL completa deja intactos los caracteres que dan estructura a la dirección, como :, /, ? y &, así que el enlace sigue funcionando: https://ejemplo.com/buscar?q=café con leche pasa a https://ejemplo.com/buscar?q=caf%C3%A9%20con%20leche. Componente codifica todo, incluidos esos caracteres, y es el que necesitas para un valor suelto que vas a poner en una cadena de consulta o en un tramo de la ruta.
La codificación porcentual es lo que permite que espacios, letras con tilde y símbolos viajen dentro de enlaces, formularios y llamadas a una API. Las letras acentuadas y la ñ ocupan dos bytes en UTF-8 y se convierten en dos secuencias: la é pasa a %C3%A9. Si la cadena que quieres decodificar contiene una secuencia no válida, como un % que no va seguido de dos cifras hexadecimales, la herramienta te lo indica en lugar de devolver un resultado equivocado.
Todo ocurre en tu navegador: lo que pegas no se envía a ningún sitio.
Preguntas frecuentes
¿Qué es la codificación porcentual?
- Es el mecanismo que sustituye los caracteres ambiguos o inseguros de una URL por un % seguido del código hexadecimal de dos cifras del carácter. Un espacio pasa a %20, una / a %2F y un + a %2B. Todos los navegadores, clientes HTTP y servidores lo usan para que los caracteres especiales sobrevivan dentro de una URL.
¿Cuál es la diferencia entre codificar una URL y un componente?
- La codificación de URL completa (encodeURI) conserva los caracteres de estructura :, /, ?, #, & y =, para que la URL siga siendo válida. La de componente (encodeURIComponent) codifica todo salvo letras, cifras y unos pocos signos seguros, que es lo que quieres al meter un solo valor en una cadena de consulta.
¿Por qué mi + se convierte en un espacio, o al revés?
- Es una rareza histórica. Los cuerpos de formulario (application/x-www-form-urlencoded) codifican el espacio como + en lugar de %20, mientras que la codificación de URL normal usa %20. Si pasas el texto por el decodificador equivocado, un + literal puede volver como espacio. Esta herramienta usa la codificación estándar de la RFC 3986.