Codificar y decodificar URL

Codifica parámetros o URLs completas — con la función correcta para cada caso.

🔒 Funciona localmente en tu navegador — no se sube nada.

Analizador de query string

Edita cualquier nombre o valor abajo — la URL completa se reconstruye y recodifica.

Sobre esta herramienta

Espacios, tildes, &, = y la mayoría de símbolos no pueden ir crudos en una URL — deben volverse secuencias %XX (percent encoding). La elección crítica es qué función: encodeURIComponent escapa todo, incluidos &, = y ?, y es la correcta para valores de parámetros; encodeURI mantiene la estructura de la URL y solo sirve para codificar una URL completa.

Confundirlas es un bug clásico: encodeURI en un parámetro rompe silenciosamente valores con & o =. Lee la comparación completa en encodeURI vs encodeURIComponent. El analizador de query string decodifica cada parámetro de una URL pegada en una tabla editable — cambia un nombre o un valor y la URL completa se reconstruye. Todo corre en tu navegador — más herramientas en dec0de.dev.

La codificación de URL (por porcentaje) reemplaza los caracteres que romperían una URL con un % seguido de su valor de byte en hex — un espacio pasa a %20, un ampersand a %26. Así pones de forma segura términos de búsqueda, destinos de redirección, tokens y texto no ASCII en un enlace o query string. Los caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =), los espacios y todo lo que quede fuera del conjunto no reservado (letras, dígitos y - _ . ~) se codifican; el resto queda legible.

Preguntas frecuentes

¿encodeURIComponent o encodeURI, cuál uso?

Usa encodeURIComponent para un valor de consulta o segmento de ruta — codifica &, =, ?, / y más. Usa encodeURI solo para una URL completa que no quieras romper. Codificar un valor con encodeURI es un error clásico.

¿Por qué un espacio a veces es %20 y a veces +?

En la ruta de una URL, un espacio es %20. En una query string con formato form-urlencoded, un espacio suele escribirse como +. Ambos se decodifican a un espacio, y el interruptor «+ significa espacio» cambia entre los dos modos.

¿Puedo codificar toda una lista de valores a la vez?

Sí. Activa «Lote: un valor por línea» y cada línea se codifica o decodifica de forma independiente, conservando el orden y las líneas vacías. El resultado se puede copiar o descargar como archivo de texto.

¿Qué caracteres necesitan codificarse realmente?

Caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =), espacios, texto no ASCII y caracteres de control. El conjunto no reservado — letras, dígitos y - _ . ~ — siempre se deja tal cual.

¿Por qué la decodificación falla con «escape no válido»?

Un % debe ir seguido de exactamente dos dígitos hex, y los bytes resultantes deben formar UTF-8 válido. Un % literal sin codificar (escribe %25), una secuencia truncada como %2 o bytes de otro juego de caracteres rompen la decodificación. Esta herramienta nombra la secuencia problemática y su posición, y te lleva hasta ella.

¿Mis datos de URL se mantienen privados?

Sí. La codificación, decodificación y el análisis de query string se ejecutan en tu navegador. Tu entrada solo se recuerda en el local storage de este navegador para sobrevivir a una recarga — el botón Limpiar la borra. Nada se sube a ningún sitio.