DevBox Herramientas rápidas para desarrolladores, sin registro

Codificador y Decodificador de URL

Escribe o pega texto, elige Codificar o Decodificar y luego Componente o URL completa — el resultado se actualiza al instante y nunca sale de tu navegador.

Componente: escapa & = ? / y otros caracteres reservados — úsalo para un valor único que se insertará en una URL.

Componente vs. URL completa: dos trabajos distintos

Ambos modos convierten caracteres inseguros en bytes codificados con %XX, pero no se ponen de acuerdo en qué caracteres cuentan como "inseguros" — y ese desacuerdo es justamente la clave. El modo Componente usa encodeURIComponent/decodeURIComponent del navegador, que escapa todo lo que no sea una letra, un número o un pequeño conjunto de signos seguros — incluyendo caracteres estructurales de la URL como &, =, ? y /. Eso es correcto cuando tu texto va a convertirse en un solo valor dentro de una URL que otra parte del sistema está construyendo — un término de búsqueda, un destino de redirección, un fragmento de JSON en una cadena de consulta — porque esos caracteres estructurales necesitan neutralizarse para que no se confundan con la sintaxis de la URL. El modo URL completa usa encodeURI/decodeURI, que reconoce que & = ? / : @ # y similares son precisamente lo que hace que una URL sea una URL, y los deja tal cual — solo escapa caracteres que son realmente inválidos en una URL, como espacios o Unicode sin codificar. Eso es correcto cuando tu texto ya es un enlace completo y solo quieres que sea válido.

Ejemplo práctico

Codificar https://example.com/search?q=a&b da dos resultados distintos, ambos correctos, según el modo:

El error que hay que evitar: pasar un enlace completo por el modo Componente. Codificará alegremente el :// y cada &, convirtiendo un enlace que funcionaba en una cadena que ya no sirve como URL en absoluto — para eso está exactamente el modo URL completa.

Preguntas frecuentes

¿Cuándo debo usar el modo Componente en vez de URL completa?

Usa el modo Componente cuando el texto que codificas se convertirá en UNA SOLA PARTE de una URL — el valor de un parámetro de consulta, un segmento de ruta — que luego insertarás dentro de una URL más grande. Escapa todos los caracteres con significado especial en una URL (incluidos /, ?, & y =), así que un valor como "a&b=c" no puede romper por accidente la estructura de la URL en la que se inserte. Usa el modo URL completa cuando el texto ya es un enlace completo e independiente y solo quieres asegurarte de que sea válido — por ejemplo, antes de mostrarlo, guardarlo o pasarlo a una función que espera una URL real. Este modo deja intactos los caracteres estructurales como :, /, ?, & y =, precisamente porque son los que hacen que el enlace funcione.

¿Por qué a veces decodificar muestra un error en vez de un resultado?

La codificación porcentual sigue un formato estricto: un % siempre debe ir seguido de exactamente dos dígitos hexadecimales (como %20 o %3F). Si el texto que decodificas tiene un % suelto que no va seguido de dos dígitos hexadecimales válidos — a menudo por una doble codificación mal hecha, un copiar y pegar incompleto, o texto que nunca estuvo codificado — la función decodeURIComponent o decodeURI del navegador lanza un URIError en vez de adivinar. Esta herramienta captura ese error y muestra un mensaje claro en lugar de un resultado en blanco o un error en la consola.

Si decodifico con el modo URL completa, ¿%26 y %3D siempre vuelven a ser & y =?

No necesariamente, y es intencional. El paso de decodificación del modo URL completa deja a propósito sin tocar la forma codificada de los caracteres estructurales (;, /, ?, :, @, &, =, +, $, #), porque decodificarlos podría cambiar el significado de la URL — por ejemplo, convertir un solo parámetro de consulta en lo que parecen dos. El modo Componente no tiene esa restricción y convierte cada secuencia codificada válida de vuelta a su carácter, sea estructural o no, lo cual es correcto cuando decodificas un valor único en vez de un enlace completo.

¿La codificación porcentual es lo mismo que Base64?

No — resuelven problemas distintos. La codificación porcentual (lo que hace esta herramienta) escapa solo los caracteres concretos que son inseguros o significativos dentro de una URL, dejando intactas las letras y números normales, así que el resultado sigue siendo mayormente legible. Base64 reconvierte cada byte de la entrada a un alfabeto completamente distinto, produciendo un resultado que no se parece en nada al original — útil para incrustar datos binarios arbitrarios en formatos de texto, pero excesivo (e incorrecto) para el valor de una consulta en una URL.