Codificar / decodificar una URL

Codifica o decodifica texto en formato URL (percent-encoding), por ejemplo para parámetros de consulta.

Ejemplo:

¿Por qué codificar una URL?

Cuando construyes un enlace o una llamada a una API a mano, un parámetro con espacios, acentos o caracteres especiales (&, =, ?, /) puede romper la URL o ser interpretado incorrectamente por el servidor. El percent-encoding reemplaza esos caracteres por secuencias %XX seguras para transmitir en una query string, una cabecera o un formulario. Es lo que suele hacer un desarrollador antes de insertar un valor de usuario (nombre, dirección, búsqueda) en un enlace compartible o en una petición fetch.

¿Por qué mi URL contiene %20 o %C3%A9?

Son caracteres codificados con percent-encoding: %20 representa un espacio y %C3%A9 representa una «é» codificada en UTF-8. Un navegador o un servidor web sustituye automáticamente ciertos caracteres no permitidos en una URL por esta notación para garantizar que el enlace siga siendo válido y se transmita sin errores.

¿Cuál es la diferencia entre encodeURIComponent y encodeURI?

Esta herramienta codifica el texto al estilo de encodeURIComponent: escapa todos los caracteres no alfanuméricos excepto - _ . ~, incluidos /, :, ?, & y =. Este es el comportamiento adecuado para codificar el valor de un parámetro aislado (antes de insertarlo en una query string), a diferencia de encodeURI, que conserva los separadores estructurales de una URL completa.

Procesamiento 100% local: la codificación y decodificación se ejecutan íntegramente en tu navegador mediante WebAssembly, ningún texto introducido se envía a un servidor.