Codificador y Decodificador de URL

Codifica texto para uso seguro en URLs (percent-encoding) o decodifícalo de vuelta. Esencial para parámetros de consulta y enlaces.

¿Qué es la codificación de URL?

La codificación de URL, también llamada codificación porcentual, reemplaza los caracteres que no son seguros en una dirección web con un signo de porcentaje seguido de un código. Un espacio se convierte en %20, un signo y se convierte en %26, y así sucesivamente. Esto le permite poner cualquier texto, espacios, acentos, símbolos en una URL sin dividirla. Esta herramienta codifica texto para un uso seguro en URL y decodifica el texto codificado por porcentaje a un formato legible.

Por que es necesario

Las URL tienen un conjunto limitado de caracteres que pueden contener de forma segura. Cuando coloca un término de búsqueda, un valor de parámetro o un segmento de ruta que incluye espacios, barras, signos de interrogación o letras que no están en inglés directamente en una URL, esos caracteres pueden malinterpretarse y romper el enlace. La codificación los convierte en una representación segura que los servidores y navegadores decodifican correctamente. Cualquiera que cree cadenas de consulta, llamadas API o enlaces mediante programación lo necesita constantemente.

Codificación y decodificación

La codificación toma texto legible y lo hace seguro para URL, lo cual es esencial cuando se construye un enlace o un parámetro de consulta. La decodificación hace lo contrario: convierte una cadena codificada por porcentaje nuevamente en texto legible, lo cual es útil cuando lees una URL que alguien te envió, depuras una llamada API o inspeccionas lo que realmente contiene un parámetro. Esta herramienta hace ambas cosas con un solo clic cada una y maneja correctamente los caracteres acentuados y no ingleses a través de UTF-8.

Situaciones comunes

Construir una URL de búsqueda donde la consulta contenga espacios y símbolos. Pasar un valor que incluye un signo comercial o igual a través de un parámetro de consulta sin romper la estructura de la URL. Leer una URL larga y codificada para comprender a qué apunta. Construir solicitudes de API donde los parámetros deben codificarse. Debido a que se ejecuta en su navegador, puede codificar o decodificar de forma segura valores que contengan datos confidenciales.

¿Qué es la codificación de URL?

La codificación de URL, también llamada codificación porcentual, reemplaza los caracteres que no son seguros o están reservados en una URL con un signo de porcentaje seguido de dos dígitos hexadecimales. Un espacio se convierte en %20, un signo y se convierte en %26, y así sucesivamente. Las URL están limitadas a un pequeño conjunto de caracteres ASCII según el estándar RFC 3986, por lo que cualquier cosa fuera de ese conjunto, espacios, acentos, emoji o símbolos reservados como? & = # cuando se usa como datos, debe codificarse para viajar del navegador al servidor sin romper la estructura de la URL.

codificarURI versus codificarURIComponente

JavaScript ofrece dos funciones de codificación y elegir mal es un error común. encodeURIComponent codifica todo lo reservado y es lo que desea para los valores individuales que ingresa en una cadena de consulta, un término de búsqueda, un valor de parámetro, un destino de redireccionamiento. encodeURI conserva caracteres de estructura de URL como /? & = y está destinado a codificar una URL completa mientras la mantiene funcional. La regla general: use encodeURIComponent para los valores dentro de una URL y encodeURI solo para una URL completa. Esta herramienta codifica componentes, que es lo que necesita la mayor parte del tiempo.

Errores comunes de codificación de URL

Dos errores dominan. La doble codificación ocurre cuando codifica una cadena que ya está codificada, %20 se convierte en %2520, lo que rompe el enlace; solo codifique texto sin formato, nunca una URL ya codificada, y decodifique primero si no está seguro. La otra es la ambigüedad del signo más: en una cadena de consulta, + puede significar un espacio (de la codificación de formulario HTML), pero en una ruta URL es un signo más literal. En caso de duda, utilice %20 para un espacio, que es inequívoco en todas partes. Recuerde también que un valor no codificado & dentro de un valor se interpretará erróneamente como un separador de parámetros, dividiendo sus datos.

Preguntas frecuentes

¿Cuál es la diferencia entre codificación URL y Base64?
La codificación de URL hace que el texto sea seguro para las direcciones web codificando porcentualmente caracteres inseguros. Base64 es una codificación diferente para hacer que los datos binarios sean seguros para el texto. Tienen propósitos diferentes y no son intercambiables.
¿Por qué un espacio se convierte en %20?
No se permiten espacios en las URL, por lo que la codificación los reemplaza con %20, una representación segura que los navegadores y servidores decodifican en un espacio. Algunos contextos utilizan un signo más en su lugar.
¿Maneja caracteres acentuados y no ingleses?
Sí. La herramienta codifica mediante UTF-8, por lo que las letras y caracteres acentuados de cualquier idioma se codifican y decodifican correctamente.
¿Cuándo decodificaría una URL?
Cuando desee leer lo que realmente contiene una URL o parámetro codificado, resulta útil para depurar llamadas API, inspeccionar enlaces o comprender una dirección codificada larga que alguien le envió.
¿Mis datos son privados?
Sí. La codificación y decodificación se realizan en su navegador sin carga.
¿Cuál es la diferencia entre codificar y decodificar URL?
La codificación convierte caracteres no seguros en códigos de porcentaje (un espacio se convierte en %20) para que el texto esté seguro dentro de una URL. La decodificación lo invierte, convirtiendo %20 nuevamente en un espacio para visualización. Utilice codificar para crear una URL, decodificar para leer una.
¿Cuándo debo usar encodeURIComponent versus encodeURI?
Utilice encodeURIComponent para valores individuales dentro de una URL, como valores de parámetros de consulta, codifica todo lo reservado. Utilice encodeURI solo para una URL completa que desee mantener funcional, ya que conserva caracteres de estructura como /? & =.
¿Por qué mi URL tiene %2520?
Eso es doble codificación: una cadena ya codificada se codificó nuevamente, por lo que % en %20 se convirtió en %25. Codifique únicamente texto sin formato, nunca una URL ya codificada. Si no está seguro, decodifique primero y luego codifique una vez.
¿Debo codificar un espacio como %20 o +?
%20 es el estándar y funciona en todas partes. El + solo significa un espacio en los datos del formulario de cadena de consulta y es un signo más literal en una ruta URL. En caso de duda, utilice %20.