Saltar al contenido principal

URL Encode/Decode

Codifica texto para URL con % o decodifícalo.

Entrada de texto o URL

Lín 1, Col 1
URL

Resultado

Tu resultado aparecerá aquí

Añade URL arriba y elige Convertir.

Añade URL a la izquierda y elige Convertir.

Esperando entrada

Codifica o decodifica texto en secuencias %XX, como componente de URL o como URL completa, que conserva sus separadores.

¿Qué es URL Encode/Decode?

URL Encode/Decode es una herramienta en línea gratuita que codifica texto con porcentaje, o decodifica secuencias %XX de vuelta a texto, en tu navegador. El ámbito «Componente» trata el texto como una parte de una URL, como el valor de un parámetro, y el ámbito «URL completa» lo trata como una dirección entera y deja sus separadores como están.

Sigue las reglas de las funciones de JavaScript encodeURIComponent y encodeURI, con sus funciones de decodificación correspondientes, siempre en UTF-8, y rechaza una secuencia % mal formada, indicando su posición, en lugar de adivinar.

Qué admite

  • La codificación con el ámbito «Componente» funciona como encodeURIComponent: se codifica todo carácter excepto letras, dígitos y - _ . ! ~ * ' ( ).
  • Con el ámbito «URL completa» funciona como encodeURI, así que también deja ; , / ? : @ & = + $ # tal cual.
  • Ambos ámbitos escriben el texto no ASCII como bytes UTF-8 con dígitos hexadecimales en mayúsculas (é pasa a ser %C3%A9), y un espacio pasa a ser %20, nunca +.
  • La decodificación con el ámbito «Componente» decodifica toda secuencia %XX, como decodeURIComponent. Con el ámbito «URL completa», las secuencias que representan ; , / ? : @ & = + $ # siguen codificadas, como en decodeURI.
  • El texto que no está codificado con % se deja como está al decodificar, y un + sigue siendo +. Los bytes decodificados deben formar texto UTF-8 válido.
  • Un texto con un sustituto (surrogate) sin pareja, que es la mitad de un emoji, no se puede codificar con %, así que se rechaza codificarlo, con su línea y su columna.

Conviene saber

  • Un + nunca se convierte en un espacio. Los formularios HTML y muchas query strings escriben el espacio como +, así que, si tu texto viene de uno de ellos, cambia tú mismo los signos + por espacios antes de decodificar.
  • Codificar un texto que ya está codificado vuelve a codificar los signos %: %20 pasa a ser %2520. Decodifica primero si no estás seguro de lo que tienes.
  • El ámbito «Componente» sirve para una parte de una URL, como el valor de un parámetro o un segmento de la ruta, y «URL completa» sirve para una dirección entera. Codificar una dirección entera con «Componente» codifica también los : y /, lo que la rompe.
  • Un % que no va seguido de dos dígitos hexadecimales se rechaza con su posición, y lo mismo ocurre con los bytes codificados con % que no son texto UTF-8 válido, como el %E9 de Latin-1. No se repara nada.
  • La herramienta trabaja solo con texto: no comprueba que el resultado sea una URL válida, no la divide en partes y nunca descarga nada de la red.

¿Cómo se usa URL Encode/Decode?

  1. Pega o escribe tu texto, o tu texto codificado con %, en el cuadro de entrada. No se ejecuta nada mientras escribes.
  2. En «Modo», elige «Codificar» o «Decodificar», y en «Ámbito», elige «Componente» o «URL completa». Después pulsa «Convertir».
  3. Lee el resultado junto a tu entrada. Si una secuencia % está mal formada o los bytes no son texto válido, el mensaje explica el motivo e indica la línea y la columna.
  4. Pulsa «Copiar» para poner el resultado en el portapapeles, o «Descargar» para guardarlo como converted.txt.

Ejemplos

Codificar el valor de un parámetro

Deja «Modo» en «Codificar» y «Ámbito» en «Componente», pega este texto y pulsa «Convertir». Todo carácter que podría leerse como separador se codifica: el espacio pasa a ser %20, & pasa a ser %26, / pasa a ser %2F, ? pasa a ser %3F y = pasa a ser %3D, y «ã» pasa a ser sus dos bytes UTF-8, %C3%A3.

São Paulo & Rio/RJ?x=1
S%C3%A3o%20Paulo%20%26%20Rio%2FRJ%3Fx%3D1

Un signo de porcentaje suelto

Elige «Decodificar» y pulsa «Convertir». El % de «100% sure» no va seguido de dos dígitos hexadecimales, así que el texto no se puede decodificar y el mensaje indica la posición del signo. Para escribir un signo de porcentaje literal, usa %25.

100% sure

Un signo de porcentaje (%) debe ir seguido de dos dígitos hexadecimales, como %20. Este no lo está, así que el texto no se puede decodificar. Escribe un signo de porcentaje literal como %25.

Línea 1, columna 4

Codificar una dirección completa

Elige «URL completa». Los caracteres : / ? & y = se quedan como están, mientras que los espacios y la «é» se codifican, así que la dirección conserva su estructura.

https://example.com/path with space/café?q=a b&lang=pt-BR
https://example.com/path%20with%20space/caf%C3%A9?q=a%20b&lang=pt-BR

El signo más sigue siendo más

Elige «Decodificar». El + se mantiene como +, lo que difiere de la decodificación de un formulario HTML o de una query string, donde + significa espacio. Solo %20 pasa a ser un espacio, y %2B pasa a ser +.

a+b%2Bc%20d
a+b+c d

Decodificar una dirección completa

Con «URL completa», una secuencia que representa un separador (%2F, %3F, %26, %3D, %23 y los demás caracteres reservados) sigue codificada, así que la estructura de la dirección no cambia. El espacio y la «é» se decodifican.

https://example.com/a%20b%2Fc?q=caf%C3%A9%26x
https://example.com/a b%2Fc?q=café%26x

Bytes que no son UTF-8

Elige «Decodificar». %E9 es «é» en la antigua codificación Latin-1, pero en UTF-8 no es un carácter completo, así que la herramienta se niega e indica la posición de esos bytes en lugar de mostrar un carácter incorrecto.

caf%E9

Estos bytes codificados con porcentaje no son UTF-8 válido, así que no forman ningún texto. El texto puede estar dañado o usar otra codificación de caracteres.

Línea 1, columna 4

Límites y privacidad

Límites de tamaño

  • Entrada: hasta 2.000.000 bytes de texto en UTF-8 (unos 2 MB). Las letras acentuadas y los emojis ocupan más de un byte cada uno. Una entrada mayor se rechaza.
  • Resultado: también hasta 2.000.000 bytes. Si el resultado completo fuera mayor, la herramienta muestra solo una vista previa incompleta de los primeros 100.000 bytes, y esa vista previa no se puede copiar ni descargar.
  • Tiempo: una ejecución que tarda más que su límite de tiempo se detiene. Prueba con una entrada más pequeña.

¿Se envía mi texto a un servidor?

No. El texto que escribes o pegas, o abres desde un archivo local, se procesa localmente en tu navegador, en un Web Worker dedicado. Nunca se sube ni se envía al servidor (un archivo que abres se lee solo en tu navegador), y no se escribe en el almacenamiento, en cookies ni en la barra de direcciones.

«Copiar» pone el resultado en el portapapeles y «Descargar» lo guarda como archivo, pero solo cuando pulsas el botón. El archivo se crea en tu navegador, así que no se sube nada.

Para conocer todos los detalles, consulta la Política de privacidad

Herramientas y páginas relacionadas

Tu texto se queda en la página cuando cambias de herramienta en la misma pestaña, así que puedes probar el mismo texto en otra. Recargar o cerrar la pestaña lo termina.

Todas las herramientas