Ir al contenido principal
PulsarKit

Codificar y decodificar URL

Codifica texto con porcentajes para usarlo en una URL o léelo de vuelta, con los tres esquemas que sí cambian y una lista tratada línea por línea.

Suelta tus archivos aquí

.txt · hasta 5 MB

Cómo codificar y decodificar una URL

  1. 1

    Pega tu texto o una lista de URLs

    Un valor o cincuenta, uno por línea. También sirve un archivo .txt, y se leen tanto UTF-8 como Windows-1251.

  2. 2

    Elige codificar o decodificar y un esquema

    Component para un solo valor, full URI para una dirección completa, form-urlencoded para un cuerpo de petición POST.

  3. 3

    Copia el resultado

    Cópialo directamente o descárgalo como archivo de texto, con la estructura de líneas conservada en ambos casos.

Tres esquemas y por qué elegir mal rompe los enlaces

La codificación de tipo component escapa todo lo que no es «unreserved», incluidos : / ? # & =. Eso es correcto para un único valor dentro de una cadena de consulta y erróneo para una dirección completa: si codificas https://example.com/a?b=1 como component, cada carácter estructural se vuelve una secuencia de porcentaje y la cadena deja de ser una URL. La codificación de tipo full URI deja esos caracteres estructurales como están y solo escapa espacios y caracteres no ASCII, que es lo que quieres cuando la entrada ya es una dirección completa. Form-urlencoded es como component pero con una sustitución más: los espacios se convierten en signos más, como exige el formato en el que los formularios HTML envían datos por POST.

El signo más es realmente ambiguo

En un cuerpo form-urlencoded, + significa un espacio. En un segmento de ruta, + significa un más literal. Al decodificar no se pueden distinguir solo a partir de la cadena, por eso es un ajuste explícito y no una suposición: si eliges form-urlencoded o activas «más como espacio», los signos más se vuelven espacios; si lo dejas desactivado, se quedan como están. Al codificar hay una trampa parecida en sentido contrario: un + literal en la entrada debe convertirse en %2B antes de transformar los espacios en signos más, o un viaje de ida y vuelta por el codificador lo convertirá en un espacio sin avisar. Ese orden aquí es fijo, así que codificar y luego decodificar devuelve exactamente lo que pusiste al principio.

Secuencias con % rotas, nombradas con precisión

Un % suelto que no va seguido de dos dígitos hexadecimales, o una secuencia multibyte cortada como %E0%A4, hace que la cadena no se pueda decodificar, y el decodificador del propio navegador lanza una excepción sin decir dónde. El modo estricto indica la línea y la posición del primer problema para que puedas encontrarlo en una lista larga; el modo flexible trata un % sin pareja como un signo de porcentaje literal y devuelve el resto, que suele ser lo que quieres cuando la entrada es una línea de registro y no una URL real. Trabajar línea por línea importa por lo mismo: en una lista de cincuenta valores, una entrada defectuosa te dice cuál fue.

El texto se queda en esta pestaña

La conversión usa las funciones de codificación integradas en el navegador y se ejecuta por completo de forma local. Las cadenas de consulta suelen llevar tokens e identificadores, así que conviene decirlo claro: nada se sube, registra ni conserva.

Preguntas frecuentes

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

encodeURIComponent también escapa los caracteres estructurales : / ? # & =, lo cual es correcto para un solo valor dentro de una cadena de consulta. encodeURI los deja intactos, que es lo adecuado cuando la entrada es una dirección completa que solo necesitas hacer segura.

¿Por qué + a veces significa un espacio?

Porque el formato form-urlencoded que usan los formularios HTML lo define así. En el resto de una URL, + es un signo más literal. Como la cadena por sí sola no indica qué caso aplica, la decodificación lo ofrece como una opción explícita.

¿Qué hago con un error de codificación de porcentaje no válida?

El mensaje indica la línea y la posición del primer escape roto, normalmente un % suelto que debería haber sido %25 o una secuencia multibyte truncada. Corrígelo o pasa al modo de decodificación flexible para recuperar el resto del texto.

¿Funciona con una lista de URLs?

Sí, y es el modo predeterminado. Cada línea se convierte de forma independiente, las líneas vacías siguen vacías y los saltos de línea nunca se escapan, así que entra una lista y sale una lista.

¿Se conservan los saltos de línea?

En el modo por líneas sí, incluido un salto de línea final. Si desactivas el modo por líneas, toda la entrada se trata como un solo valor y sus propios saltos de línea se convierten en %0A dentro del resultado.

¿Cómo decodifico cirílico en una dirección?

Pégala y decodifica con el esquema component. Una cadena en UTF-8 con porcentajes como %D0%BF%D1%80%D0%B8 se convierte de vuelta en las letras originales; el viaje de ida y vuelta es sin pérdida en ambas direcciones.

¿Se envía mi texto a algún sitio?

No. La codificación y la decodificación usan funciones integradas en tu navegador, se ejecutan de forma local en esta pestaña y no implican servidor ni almacenamiento.

Herramientas relacionadas