Codificación de URL

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

5 de 2 calificaciones
Codificación de URL

Codificación de URL es una herramienta gratuita que convierte una cadena en la representación codificada para formularios que se utiliza en los parámetros de consulta de las URL y en otros datos web basados en texto.

¿Qué es la codificación de URL y para qué se utiliza?

La codificación de URL sustituye los caracteres que tienen un significado especial en una URL por un signo de porcentaje seguido de dígitos hexadecimales. Así, el texto puede pasar por sistemas que solo admiten un conjunto limitado de caracteres.

Por ejemplo, el signo & separa parámetros de consulta. Si forma parte de un valor, debe codificarse como %26. Los espacios también requieren un tratamiento especial. Esta herramienta utiliza la función urlencode de PHP, que convierte cada espacio en un signo más.

Antes: tea and cake

Después: tea+and+cake

Puedes encontrar texto codificado para URL en:

  • cadenas de consulta enviadas mediante formularios web;
  • URI de datos que contienen texto que no puede aparecer de forma literal;
  • enlaces incluidos en mensajes de correo electrónico;
  • valores de URL almacenados en cargas útiles JSON;
  • parámetros de redirección y retorno utilizados por aplicaciones web;
  • URL asociadas a dominios internacionalizados, aunque el propio nombre de dominio puede requerir Punycode en lugar de codificación porcentual.

La codificación de URL no es un método de cifrado ni proporciona confidencialidad. Cualquiera que pueda ver un valor de URL codificado con porcentajes también puede decodificarlo.

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

¿Cómo se utiliza Codificación de URL?

Introduce la cadena que quieras codificar, ejecuta la herramienta y consulta el valor convertido en el campo de resultado URL codificada. Codifica solo el valor, no las comillas que lo rodean ni ningún texto explicativo.

El proceso se realiza en el servidor. Los datos introducidos se envían al servidor mediante HTTPS y no se almacenan. Aun así, evita incluir contraseñas, tokens de sesión o datos personales privados en las URL, ya que las direcciones web pueden aparecer en el historial del navegador, en sistemas de analítica y en registros del servidor.

Para invertir el proceso, utiliza Decodificación de URL. El valor decodificado correctamente debe coincidir con el texto original, siempre que se empleen la misma codificación de caracteres y las mismas reglas de codificación de formularios en ambos sentidos.

La herramienta Codificación de URL en digily.link, con su formulario de entrada

¿Debo codificar la URL completa o solo el valor del parámetro?

Por lo general, debes codificar cada valor de parámetro, no la URL completa. Si codificas toda la dirección, también se sustituirán caracteres estructurales como los dos puntos, las barras diagonales, el signo de interrogación y el signo igual.

Supongamos que el valor de búsqueda es green tea & coffee. Su forma codificada es green+tea+%26+coffee y puede colocarse después del nombre de un parámetro. Codificar la dirección completa ocultaría los separadores que el navegador necesita para reconocer el esquema, el host, la ruta y la cadena de consulta.

Como esta herramienta utiliza urlencode, resulta adecuada para parámetros de consulta con el formato de los formularios HTML. Sin embargo, algunas API y segmentos de ruta siguen las convenciones de RFC 3986, donde los espacios se representan como %20 en lugar de +. Comprueba si el sistema receptor espera codificación de formularios con + o el formato %20 de RFC 3986.

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

Ejemplos prácticos de codificación de URL

Las letras y los dígitos ASCII permanecen legibles. Los espacios se convierten en signos más, mientras que los signos de puntuación reservados y el texto que no pertenece a ASCII se representan mediante bytes codificados.

  • hello world se convierte en hello+world.
  • tea & cake se convierte en tea+%26+cake.
  • email=test@example.com se convierte en email%3Dtest%40example.com.
  • 100% ready se convierte en 100%25+ready.
  • café se convierte en caf%C3%A9 cuando el texto de origen utiliza UTF-8.

Las letras acentuadas y los sistemas de escritura no latinos se representan primero como bytes mediante una codificación de caracteres, normalmente UTF-8 en la web. Después, cada byte que queda fuera del conjunto permitido recibe su propia secuencia de escape porcentual. Por eso, un solo carácter visible puede generar varios grupos que comienzan por %.

Los números no requieren ningún tratamiento especial. Si la entrada está vacía, no se genera contenido codificado. Una entrada muy larga puede aumentar considerablemente de tamaño, ya que cada byte codificado ocupa tres caracteres.

¿Por qué falla la decodificación de URL o aparece texto ilegible?

La decodificación suele fallar porque la entrada se codificó con reglas diferentes, se codificó más de una vez o no representa texto en el juego de caracteres esperado.

  • Distinto tratamiento de los espacios. Un decodificador de formularios interpreta + como un espacio, mientras que un decodificador porcentual estricto puede conservarlo como signo más.
  • Doble codificación. El signo de porcentaje de %26 puede convertirse a su vez en %25, lo que produce %2526. En ese caso, una sola pasada de decodificación devuelve %26 en lugar del signo & original.
  • Codificación de caracteres incorrecta. Si los bytes UTF-8 se decodifican con otro juego de caracteres, pueden aparecer símbolos de sustitución o letras ilegibles.
  • Datos binarios en lugar de texto. Los bytes decodificados pueden corresponder a una imagen, un archivo comprimido u otro tipo de archivo. Si se muestran como texto, el resultado será ilegible.
  • Formato o alfabeto incorrectos. Base64 seguro para URL, Base64 estándar y la codificación porcentual son formatos distintos. Aplicar un decodificador de URL a texto Base64 no recuperará el valor esperado.

La codificación de URL no utiliza caracteres de relleno. Si un decodificador avisa de que falta relleno, probablemente la entrada sea Base64 u otro formato con relleno, no texto codificado con porcentajes.

Preguntas frecuentes

¿Son equivalentes las secuencias porcentuales con mayúsculas y minúsculas?

Sí. Las letras hexadecimales de las secuencias de escape porcentuales no distinguen entre mayúsculas y minúsculas, por lo que %2F y %2f representan una barra diagonal. Se recomienda utilizar dígitos hexadecimales en mayúsculas para mantener una representación uniforme.

¿Puedo convertir un nombre de dominio internacional con la codificación de URL?

No. Las etiquetas de dominio, como un nombre que contenga é, normalmente requieren el procesamiento de nombres de dominio internacionalizados y una forma Punycode ASCII que comienza por xn--. La codificación porcentual se utiliza en otros componentes de la URL y no debe considerarse un sustituto de esa conversión.

¿Qué ocurre con los saltos de línea y las tabulaciones?

Los bytes de tabulación y de salto de línea se codifican con porcentajes porque no pueden aparecer de forma literal en un valor de URL convencional. Una tabulación suele representarse como %09, mientras que los finales de línea dependen de si el contenido de origen utiliza caracteres LF o CRLF.

¿Por qué una URL codificada sigue fallando al pegarla en una aplicación?

Es posible que la aplicación espere un valor sin procesar y aplique su propia codificación, lo que provocaría una doble codificación. También puede rechazar la URL por un límite de longitud total o porque se haya codificado un carácter reservado en una parte estructural de la dirección. Antes de codificar el valor, comprueba qué componente concreto solicita la aplicación.

¿Es seguro compartir los datos codificados de una cadena de consulta?

No. La codificación porcentual de URL solo cambia la representación de los datos. Los navegadores y las herramientas de desarrollo pueden revelar el valor original. Antes de compartir un enlace, revisa sus parámetros de consulta para detectar direcciones de correo electrónico, referencias de cuentas, tokens de acceso y cualquier otro dato que no deba divulgarse.

Herramientas similares

Decodificación de URL

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

4,822
71

Herramientas populares