URL Encoder
Encode and decode special characters in URLs
Codificador y Decodificador de URLs Online - Percent Encoding
¿Qué es la codificación URL (percent-encoding) y por qué es necesaria?
La codificación URL, también conocida como percent-encoding o codificación porcentual, es un mecanismo estándar para codificar información en un Identificador Uniforme de Recursos (URI). Es absolutamente esencial porque las URLs solo pueden contener un conjunto limitado de caracteres ASCII (letras, números y algunos símbolos). Los caracteres especiales, espacios, acentos, eñes y símbolos deben convertirse a un formato seguro usando el signo de porcentaje (%) seguido de dos dígitos hexadecimales que representan el valor del byte. Por ejemplo, un espacio se codifica como %20.
¿Qué caracteres requieren codificación URL obligatoria?
Los caracteres reservados en URLs que siempre requieren codificación incluyen: espacios (convertidos en %20 o + en formularios), signos de interrogación (?), ampersands (&), signos de igual (=), barras (/), dos puntos (:), arroba (@), signos de número (#), corchetes ([ ]), y signos de porcentaje (%). Además, todos los caracteres no ASCII como letras acentuadas (á, é, í, ó, ú), la eñe (ñ), diéresis, y caracteres de otros idiomas (chino, árabe, ruso) deben codificarse para garantizar compatibilidad universal entre navegadores y servidores.
Aplicaciones prácticas del codificador URL para desarrolladores
Esta herramienta de codificación URL es indispensable para desarrolladores web que trabajan con: parámetros de consulta (query strings) en URLs dinámicas, construcción de enlaces para campañas de marketing y tracking UTM, integración con APIs REST que reciben datos en la URL, manejo de formularios web con method GET, desarrollo de aplicaciones SPA que usan routing basado en hash, generación de enlaces para compartir en redes sociales, y cualquier situación donde necesites pasar datos con caracteres especiales a través de la URL del navegador.
Preguntas frecuentes
¿Cuál es la diferencia entre encodeURI y encodeURIComponent en JavaScript?
encodeURI() codifica una URL completa preservando los caracteres especiales que forman parte de la estructura de la URL (como : / ? # @ & =). Es ideal para codificar URLs enteras. encodeURIComponent() codifica TODOS los caracteres excepto letras, números y - _ . ~, siendo la opción correcta para codificar valores de parámetros individuales que se insertarán en una URL. Usar la función incorrecta puede romper tus URLs o crear vulnerabilidades.
¿Por qué los espacios a veces se codifican como + y otras como %20?
Históricamente, los formularios HTML con method GET codifican espacios como + siguiendo el formato application/x-www-form-urlencoded. Sin embargo, el estándar RFC 3986 especifica que los espacios deben codificarse como %20 en URLs. Ambos formatos son válidos en diferentes contextos: usa + en datos de formularios tradicionales y %20 en URLs modernas y APIs REST. Esta herramienta te permite elegir el formato adecuado para tu caso de uso.
¿Puedo usar caracteres Unicode y emojis en URLs?
Sí, pero deben codificarse correctamente. Los caracteres Unicode (incluyendo emojis) se convierten primero a su representación UTF-8 (secuencia de bytes) y luego cada byte se codifica como %XX. Por ejemplo, el emoji corazón ocupa 4 bytes en UTF-8. Los navegadores modernos muestran estos caracteres decodificados en la barra de direcciones para mejor legibilidad, pero internamente transmiten la versión codificada al servidor.