Decodificación de URL

Convierte fácilmente una URL codificada de vuelta a una cadena de texto normal de manera rápida y precisa.

5 de 2 calificaciones
Decodificación de URL

Decodificación de URL es una herramienta gratuita que convierte texto de URL codificado por porcentajes en su cadena original.

¿Qué hace la decodificación de URL?

La decodificación de URL revierte el mecanismo de escape empleado para transmitir espacios, signos de puntuación y otros bytes mediante URL y otras sintaxis definidas que utilizan codificación por porcentajes. Este sistema representa cada byte con un signo de porcentaje seguido de dos dígitos hexadecimales. La codificación de URL utilizada en formularios también representa los espacios con +. Por ejemplo, un espacio puede escribirse como %20 y un ampersand como %26.

Este es un ejemplo sencillo del antes y el después:

Entrada codificada: red%20%26%20blue

Salida decodificada: red & blue

Esta codificación existe porque algunos caracteres tienen un significado estructural dentro de una URL. El signo de interrogación delimita la consulta de una URL, mientras que, en los datos de consulta con formato de formulario, un ampersand literal suele separar campos. Al codificar estos caracteres, una aplicación puede tratarlos como datos en lugar de como separadores.

La codificación de URL no es un método de cifrado y no ofrece confidencialidad. Cualquiera que pueda leer el valor codificado también puede decodificarlo. No consideres que las contraseñas, los tokens de acceso o la información personal codificados por porcentajes están protegidos.

Diagrama que muestra texto procesado por la herramienta Decodificación de URL en ambos sentidos

¿Cómo uso la herramienta de decodificación de URL?

Pega o introduce el texto codificado, procésalo y consulta el valor restaurado en el campo de resultado URL decodificada. La herramienta utiliza la función urldecode de PHP, por lo que convierte las secuencias %HH válidas y trata el signo más como un espacio.

  1. Copia el componente codificado, por ejemplo, el valor de un parámetro de consulta.
  2. Introduce el valor codificado para URL sin añadir comillas, salvo que formen parte real del valor.
  3. Procesa la entrada de URL y revisa el resultado en URL decodificada.
  4. Si la salida todavía contiene secuencias como %2F o %20, comprueba si el contenido de origen se codificó más de una vez antes de volver a decodificarlo.
La herramienta Decodificación de URL en digily.link, con su formulario de entrada

El procesamiento se realiza en el servidor. La entrada se envía al servidor mediante HTTPS y no se almacena, pero sale de tu dispositivo mientras se procesa. Evita pegar información confidencial en esta herramienta de decodificación de URL si no resulta adecuado procesar esos datos en el servidor.

¿Dónde se utiliza la codificación de URL?

La codificación de URL aparece sobre todo en cadenas de consulta, envíos de formularios y valores incluidos en enlaces. También se emplea en otros contextos menos evidentes en los que los datos deben pasar por un formato de texto restringido.

  • Cadenas de consulta: una búsqueda de "tea & cake" puede aparecer como q=tea+%26+cake.
  • URI de datos: los datos textuales pueden codificarse por porcentajes después del tipo de medio, aunque Base64 también es una representación habitual.
  • Enlaces de correo electrónico: un enlace mailto puede codificar espacios, saltos de línea y signos de puntuación en los parámetros de asunto o cuerpo. Las codificaciones de transferencia MIME utilizadas dentro de un mensaje de correo electrónico son formatos distintos.
  • Cargas útiles JSON: JSON tiene sus propias reglas de escape, pero una cadena JSON puede contener una URL o un valor de consulta que ya estén codificados y deban decodificarse por separado.
  • Dominios internacionalizados: las etiquetas de dominio con caracteres no ASCII suelen utilizar Punycode en lugar de codificación por porcentajes. Los componentes de ruta y consulta sí pueden contener bytes UTF-8 codificados por porcentajes.

Si el texto codificado es una etiqueta de dominio que comienza por xn--, utiliza Conversión de IDN a Punycode. La herramienta de decodificación de URL está pensada para componentes de URL codificados por porcentajes, no para convertir Punycode.

Ejemplo de resultado generado por la herramienta Decodificación de URL

Ejemplos prácticos de decodificación de URL

Los siguientes ejemplos muestran entradas habituales y el texto correspondiente una vez decodificado.

  • hello%20world se convierte en hello world.
  • name=Tom+Jones se convierte en name=Tom Jones.
  • fish%26chips se convierte en fish&chips.
  • %C2%A3 se convierte en £ cuando los bytes representan texto UTF-8.
  • %E6%9D%B1%E4%BA%AC se convierte en 東京 cuando se interpreta como UTF-8.
  • 100%25 se convierte en 100%.

Por lo general, las letras, los números y los signos de puntuación sin codificar permanecen tal como se introdujeron. Una entrada vacía produce un resultado URL decodificada vacío. Las entradas muy largas siguen las mismas reglas de decodificación, aunque los navegadores, servidores y sistemas receptores pueden aplicar sus propios límites de longitud a las solicitudes o URL.

Los caracteres acentuados y los caracteres no latinos suelen codificarse como una secuencia de bytes UTF-8, cada uno representado por separado. Si el sistema original utilizó otra codificación de caracteres, los bytes decodificados pueden mostrarse como símbolos de sustitución o como texto aparentemente ilegible.

¿Por qué falla la decodificación de URL o aparecen caracteres ilegibles?

La decodificación puede devolver una salida sin cambios o inesperada si la entrada contiene secuencias de porcentaje incompletas, se codificó más de una vez, se interpreta con un juego de caracteres incorrecto o ni siquiera contiene datos codificados para URL. La función urldecode de PHP deja sin cambios las secuencias de porcentaje mal formadas, mientras que una entrada codificada dos veces produce un resultado intermedio tras la primera pasada. Revisa el contenido original antes de decodificarlo repetidamente.

  • Entrada codificada dos veces: %2520 se decodifica primero como %20 y solo se convierte en un espacio después de una segunda pasada. Vuelve a decodificar únicamente cuando sepas que existe otra capa de codificación.
  • Secuencia de porcentaje incompleta: cada byte codificado necesita dos dígitos hexadecimales. Un % al final o un valor como %2 están mal formados y no pueden representar un byte codificado completo, por lo que urldecode de PHP los deja sin cambios.
  • Codificación de caracteres incorrecta: la decodificación por porcentajes restaura bytes. Por ejemplo, interpretar bytes ISO-8859-1 como UTF-8 puede generar texto ilegible aunque las secuencias de porcentaje sean válidas.
  • Datos binarios en lugar de texto: los bytes decodificados pueden representar una imagen, un archivo comprimido u otro contenido binario. No se espera que este tipo de salida se muestre como texto legible.
  • Familia de codificación incorrecta: si el resultado de la decodificación de URL se introduce después en Decodificación Base64, esta herramienta puede fallar debido a diferencias entre el alfabeto estándar y el seguro para URL, a la ausencia del relleno = o a una entrada dañada. La codificación de URL por porcentajes no utiliza relleno ni un alfabeto Base64, y la decodificación de URL no valida ni corrige esos problemas de Base64.

Ten cuidado con los signos más literales. En la codificación de URL utilizada en formularios, + representa un espacio. Normalmente, un signo más literal debe codificarse como %2B antes de decodificarlo.

Preguntas frecuentes

¿Debo decodificar una URL completa o solo una parte?

Siempre que sea posible, decodifica únicamente el segmento de ruta o el valor del parámetro de consulta correspondiente. Si decodificas una URL completa, los caracteres reservados codificados, como %26, %3F o %2F, pueden convertirse en separadores y cambiar la forma en que se interpreta la URL.

¿La decodificación de URL admite códigos hexadecimales en minúsculas?

Sí. Los dígitos hexadecimales de las secuencias de porcentaje no distinguen entre mayúsculas y minúsculas, por lo que %2f y %2F representan el mismo byte. Las secuencias que combinan ambas también son válidas.

¿La herramienta decodifica varias veces el mismo valor?

No. Cada llamada a urldecode realiza una sola pasada de decodificación. Si %252F se convierte en %2F, hace falta otra pasada para obtener una barra, pero la decodificación repetida puede alterar datos que debían contener una secuencia de porcentaje literal.

¿Se puede recuperar texto dañado al decodificar una URL?

No. La herramienta puede revertir una codificación por porcentajes válida, pero no puede reconstruir dígitos hexadecimales ausentes ni determinar con certeza la codificación de caracteres original. Revisa el sistema de origen, las cabeceras HTTP o la documentación cuando los bytes decodificados no se muestren correctamente.

¿Qué hago con un valor que empieza por xn--?

Trátalo como una etiqueta de dominio Punycode y no como texto normal codificado por porcentajes. Utiliza Conversión de IDN a Punycode y verifica con cuidado el dominio resultante, ya que caracteres Unicode visualmente similares pueden pertenecer a sistemas de escritura distintos.

Herramientas similares

Codificación de URL

Convierte cualquier cadena de texto en un formato URL codificado para una transferencia segura y eficiente.

4,833
40

Herramientas populares