¿Qué es codificar una URL?
Una URL solo puede contener un conjunto limitado de caracteres. Los espacios, las letras con tilde, la ñ y muchos símbolos tienen que escribirse como secuencias de porcentaje: un espacio pasa a ser %20 y una ñ, %C3%B1, que son sus bytes en UTF-8. A esto se le llama codificación de URL, percent-encoding o «URL encode».
La herramienta tiene dos modos. «Valor de parámetro» equivale a encodeURIComponent de JavaScript: codifica también los caracteres con significado especial en una URL, como & = ? / y :, de modo que puedes meter cualquier texto, incluso otra URL, dentro de un parámetro sin romperlo. «URL completa» equivale a encodeURI: deja intactos : / ? & = y #, así que sirve para arreglar una URL entera que tiene espacios o acentos sin estropear su estructura.
Además puedes elegir que los espacios se codifiquen como + en lugar de %20, que es el formato application/x-www-form-urlencoded que usan los formularios HTML. Todo se procesa en tu navegador; el texto no se envía a ningún servidor.
¿Cómo codificar una URL?
- Pega el texto o la URL en el cuadro.
- Elige el modo: «Valor de parámetro» (encodeURIComponent) o «URL completa» (encodeURI).
- Activa «Espacios como +» si el destino espera el formato de formulario.
- Copia el resultado codificado.
¿Cuándo usar esta herramienta?
- Meter un texto con espacios o acentos en un parámetro, como ?q=camisetas de algodón.
- Pasar una URL completa como valor de otro parámetro, por ejemplo en ?redirect=….
- Arreglar una URL con espacios o eñes para pegarla en un sitio que no la acepta.
- Preparar valores para una petición a una API o para una prueba con curl.
- Comprobar cómo queda codificado un carácter concreto en UTF-8.
encodeURI frente a encodeURIComponent
- encodeURIComponent («Valor de parámetro»): codifica todo salvo letras, números y - _ . ! ~ * ' ( ). Úsalo para valores que van dentro de una URL.
- encodeURI («URL completa»): respeta los caracteres que dan estructura a la URL (: / ? & = #). Úsalo para una URL entera.
- Ejemplo: «a&b=c» queda a%26b%3Dc con encodeURIComponent y a&b=c con encodeURI.
- Si codificas una URL entera con encodeURIComponent, las barras y los dos puntos también se codifican y deja de funcionar como enlace.
Preguntas Frecuentes
¿Cuál es la diferencia entre %20 y + para los espacios?
Los dos representan un espacio. %20 es válido en cualquier parte de la URL; + solo significa espacio en la parte de consulta con el formato de formularios (application/x-www-form-urlencoded). Si no estás seguro, usa %20.
¿Qué modo debo elegir?
Si vas a poner el texto dentro de un parámetro, «Valor de parámetro» (encodeURIComponent). Si quieres corregir una URL completa sin romper sus barras, interrogaciones y ampersands, «URL completa» (encodeURI).
¿Cómo se codifican los acentos y la ñ?
Con UTF-8, que es el estándar en la web: la ñ queda como %C3%B1 y la á como %C3%A1. Cada carácter no ASCII ocupa dos o más secuencias %XX.
¿Cómo se decodifica después?
Con el decodificador de URL de ToolStudio, que convierte las secuencias %XX de nuevo en texto legible.
¿Se envía mi texto a algún servidor?
No. La codificación se hace en tu navegador y el texto no sale de tu dispositivo.
¿Es gratis? ¿Puedo codificar varias URL a la vez?
Puedes probarla gratis: la prueba es de un texto, y todo lo que haya en el cuadro cuenta como uno solo. Con ToolStudio Pro (1,99 € al mes, todas las herramientas, sin anuncios) la usas sin límite.