Herramientas
Codificar URL
Codificar texto para URL
Codifica texto para usarlo con seguridad en una URL o en parámetros de consulta.
Sobre esta herramienta
Una URL solo admite un conjunto limitado de caracteres. Si metes un espacio, una ñ, un & o un ? dentro del valor de un parámetro, el enlace se rompe o el servidor lo interpreta mal. Codificar (percent-encoding) sustituye esos caracteres por secuencias como %20 o %C3%B1. Lo necesitarás al montar enlaces con UTM, búsquedas prellenadas, enlaces de WhatsApp o mailto con texto, o llamadas a una API.
Escribe o pega el texto en «Texto que quieres codificar» y el resultado codificado aparece debajo al momento. Cópialo con «Copiar resultado» y pégalo como valor del parámetro, detrás del =. Codifica cada valor por separado y no la URL completa: si pasas https://… entero, también se codificarán las barras y los dos puntos. «Cambiar a decodificar» te devuelve el texto original.
Se usa la función encodeURIComponent de JavaScript, que es la forma estándar de codificar valores de parámetros, y se ejecuta en tu navegador sin enviar nada. Los caracteres no ASCII se codifican en UTF-8, como esperan los navegadores. Ten en cuenta que los espacios salen como %20 y no como +, que es la otra convención usada en formularios.
Preguntas frecuentes
¿Cuál es la diferencia entre %20 y + para un espacio?
%20 es la codificación estándar de un espacio en cualquier parte de la URL. El + solo significa espacio en los datos de formularios (application/x-www-form-urlencoded); la mayoría de servidores aceptan ambos en la query, pero %20 es la opción más segura.
¿Qué caracteres no se codifican?
encodeURIComponent deja tal cual las letras A-Z y a-z, los dígitos y los signos - _ . ! ~ * ' ( ). Todo lo demás, incluidos / ? & = # y los espacios, se convierte en %XX.
¿Tengo que codificar los parámetros UTM?
Sí, si contienen espacios, tildes u otros símbolos. Por ejemplo, utm_campaign=rebajas de otoño debería ir como utm_campaign=rebajas%20de%20oto%C3%B1o para que la analítica lo recoja bien.
¿Por qué una ñ se convierte en dos códigos, %C3%B1?
Porque en UTF-8 la ñ ocupa dos bytes y cada byte se escribe como un %XX. Los emojis ocupan cuatro bytes y generan cuatro secuencias.