Respuesta rápida
Para codificar texto para una URL, pégalo y elige «Componente»: los espacios pasan a %20, & pasa a %26 y las letras hindi pasan a códigos UTF-8 como %E0%A4%B9. Elige «URL completa» para codificar una dirección entera conservando : / ? & =, o «Datos de formulario» para + en lugar de %20. Cambia a Decodificar para convertir de nuevo el texto con escapes % en caracteres legibles. El desglose de abajo enumera cada parámetro de consulta, decodificado.
¿Qué es un codificador / decodificador de URL?
Un codificador / decodificador de URL convierte texto en una forma que puede viajar de forma segura dentro de una dirección web, y lo vuelve a convertir. Las URL solo pueden contener un conjunto limitado de caracteres, y algunos de ellos, como ?, &, =, # y /, tienen funciones especiales. Todo lo demás, incluidos espacios, comillas, letras hindi, emoji y símbolos como ₹, debe codificarse con porcentajes: sustituido por un signo % seguido de dos dígitos hexadecimales por cada byte. Un espacio se convierte en %20, un ampersand en %26 y «ह» en %E0%A4%B9.
Los desarrolladores lo necesitan al crear solicitudes de API, cadenas de consulta, enlaces de redirección y retrollamadas de OAuth; los profesionales del marketing, al leer URL de seguimiento largas; y todos, de vez en cuando, para convertir un enlace ilegible lleno de códigos % de nuevo en texto simple. Esta herramienta gratuita codifica de tres formas estándar (componente de URL, URL completa y datos de formulario), decodifica con mensajes de error útiles y divide cualquier URL en sus partes con una tabla decodificada de parámetros de consulta.
Características principales
- Codificación de componentes: encodeURIComponent estricto según RFC 3986 para valores de parámetros y segmentos de ruta.
- Codificación de URL completa: encodeURI mantiene intacta la estructura de la URL.
- Codificación de formularios: espacios como +, igual que los envíos de formularios HTML.
- Decodificación en los tres modos con errores claros para las secuencias rotas.
- Compatibilidad total con Unicode: hindi, otras escrituras, emoji y símbolos de moneda mediante UTF-8.
- Desglose de la URL: protocolo, host, puerto, ruta y fragmento.
- Tabla de parámetros de consulta con nombres y valores decodificados.
- Privado: se ejecuta localmente en tu navegador.
Cómo usarla, paso a paso
- Elige Codificar o Decodificar.
- Selecciona el tipo de codificación: Componente, URL completa o Datos de formulario.
- Pega tu texto o URL; el resultado se actualiza al instante.
- Copia el resultado, o presiona Usar el resultado como entrada para codificar o decodificar de nuevo.
- Lee el desglose para inspeccionar el host, la ruta y los parámetros.
Ejemplos de codificación
| Entrada | Modo | Resultado |
|---|---|---|
| hello world & more | Componente | hello%20world%20%26%20more |
| hello world & more | Datos de formulario | hello+world+%26+more |
| a/b?c=d#e | Componente | a%2Fb%3Fc%3Dd%23e |
| हिंदी | Componente | %E0%A4%B9%E0%A4%BF%E0%A4%82%E0%A4%A6%E0%A5%80 |
| ₹500 | Componente | %E2%82%B9500 |
| https://example.com/search?q=हिंदी टूल्स | URL completa | https://example.com/search?q=%E0%A4%B9…%20%E0%A4%9F… |
Componente frente a URL completa frente a datos de formulario
El modo Componente codifica todos los caracteres excepto el conjunto no reservado (A–Z, a–z, 0–9, - _ . ~). Úsalo para una sola pieza de una URL: un término de búsqueda, un destino de redirección dentro de un parámetro, un nombre de archivo en una ruta. Nuestro modo de componente también codifica ! ' ( ) * para cumplir estrictamente con RFC 3986, que algunas API y esquemas de firma (como OAuth 1.0) exigen.
El modo URL completa deja intactos los caracteres reservados que estructuran una URL (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) y codifica solo los espacios, los caracteres no ASCII y unos pocos símbolos no seguros. Úsalo para limpiar una dirección completa que alguien escribió con espacios o palabras en hindi.
El modo Datos de formulario sigue application/x-www-form-urlencoded, el formato que usan los navegadores para los envíos de formularios HTML: como el modo de componente, pero los espacios pasan a +. Al decodificar datos de formulario, + se convierte de nuevo en un espacio.
Anatomía de una URL
Toma https://shop.example.com:8443/products/shoes?color=red&size=9#reviews:
- Protocolo (esquema): https:
- Host: shop.example.com
- Puerto: 8443 (se omite cuando es el predeterminado, 443 para https)
- Ruta: /products/shoes
- Cadena de consulta: color=red&size=9: parámetros separados por &
- Fragmento: reviews: lo gestiona el navegador, no se envía al servidor
El panel de desglose muestra estas partes de cualquier URL que pegues, con el analizador de URL estándar del navegador, y decodifica cada parámetro para que puedas leer valores como q=%E0%A4%B9… como texto en hindi.
Unicode y UTF-8
Las URL modernas llevan texto no inglés convirtiendo cada carácter en sus bytes UTF-8 y codificando con porcentajes cada byte. Los caracteres devanagari ocupan tres bytes, la mayoría de los emoji cuatro, y el signo de la rupia ₹ tres, así que ₹ se convierte en %E2%82%B9. Los navegadores suelen mostrar los caracteres legibles en la barra de direcciones (lo que se llama IRI, identificador de recursos internacionalizado) mientras envían la forma codificada a los servidores. Los nombres de dominio son un caso aparte: usan Punycode (xn--…) en lugar de la codificación con porcentajes.
Codificación de URL en código
- JavaScript: encodeURIComponent(value), encodeURI(url), new URLSearchParams({ q: value }).toString() para el estilo de formulario.
- Python: urllib.parse.quote(value), quote_plus(value) para el estilo de formulario, unquote() para decodificar.
- PHP: rawurlencode() (RFC 3986) y urlencode() (estilo de formulario).
- Java: URLEncoder.encode(value, StandardCharsets.UTF_8): estilo de formulario con +.
Cuando los resultados de tu código y de esta herramienta difieran, comprueba qué estilo usa cada uno: la diferencia entre + y %20 es la fuente de confusión más común.
Ejemplo resuelto: un enlace de pedido por WhatsApp
Los pequeños negocios suelen compartir enlaces que abren WhatsApp con un mensaje ya preparado. El formato es https://wa.me/<number>?text=<message>, y el mensaje debe codificarse como componente. Para el mensaje «Hi! I want to order 2 kg आम & 1 dozen केले», esta herramienta da Hi%21%20I%20want%20to%20order%202%20kg%20%E0%A4%86%E0%A4%AE%20%26%201%20dozen%20%E0%A4%95%E0%A5%87%E0%A4%B2%E0%A5%87. Sin codificar, el & terminaría antes de tiempo el parámetro de texto y el cliente solo vería «Hi! I want to order 2 kg आम». Pega tu mensaje en la herramienta en el modo Componente, copia el resultado y añádelo después de ?text=. (La herramienta también codifica ! como %21 para cumplir estrictamente con RFC 3986; el encodeURIComponent simple lo deja como !, y ambos funcionan.)
Codificación y seguridad
Codificar correctamente también es una cuestión de seguridad. Si la entrada del usuario se coloca en una URL sin codificar, un valor que contenga &, = o # puede añadir o sobrescribir parámetros (un problema conocido como inyección de parámetros), y la entrada sin escapar en URL de redirección puede aprovecharse para redirecciones abiertas o phishing. Codifica siempre cada valor por separado con un codificador de componentes (o una biblioteca como URLSearchParams), valida los destinos de redirección con una lista de permitidos y recuerda que codificar no es cifrar: cualquiera puede decodificar una URL, así que nunca pongas contraseñas ni secretos en las cadenas de consulta, donde acaban en el historial del navegador y en los registros del servidor.
Usos habituales
- Crear solicitudes de API y cadenas de consulta con entradas del usuario.
- Codificar URL de redirección dentro de parámetros de OAuth o de inicio de sesión.
- Leer enlaces largos de seguimiento o de afiliados.
- Arreglar enlaces que contienen espacios o palabras en hindi.
- Preparar enlaces de «clic para chatear» de WhatsApp con mensajes ya escritos.
- Depurar registros de servidores web llenos de códigos %.
- Crear enlaces mailto: con asuntos y cuerpos codificados.
- Pasar nombres de archivo con espacios o corchetes a URL de descarga.
- Comprobar exactamente qué enviará un navegador cuando un enlace contiene caracteres especiales.
Errores comunes que debes evitar
- Codificar una URL entera en modo componente: rompe https:// y las barras.
- No codificar los valores de los parámetros: un & dentro de un valor lo divide en dos parámetros.
- Codificación doble: %2520 en lugar de %20.
- Usar + en las rutas: + solo significa un espacio en las cadenas de consulta codificadas como formulario.
- Olvidar UTF-8: los sistemas antiguos que usan otras codificaciones producen códigos % distintos.
- Decodificar entradas no fiables e insertarlas en HTML: decodifica y luego escapa el HTML antes de mostrar, o corres el riesgo de cross-site scripting.
Solución de problemas
- «No se puede decodificar»: busca un % que no vaya seguido de dos dígitos hexadecimales, como en «50% off»; codifícalo como %25 o quítalo.
- No se muestra el desglose: el texto no es una URL completa; incluye https://.
- Los signos más permanecen tras decodificar: cambia al modo Datos de formulario.
- El resultado difiere de otra herramienta en %21, %27, %28, %29 o %2A: esta herramienta codifica ! ' ( ) * de forma estricta; ambas formas se decodifican al mismo texto.
- El hindi aparece como signos de interrogación en otro sitio: el sistema receptor puede no decodificar UTF-8; revisa su configuración de codificación.
Glosario rápido
- Codificación con porcentajes: representar un byte como % seguido de dos dígitos hexadecimales.
- Caracteres reservados: caracteres con significado especial en las URL, como / ? & = #.
- Caracteres no reservados: letras, dígitos y - _ . ~, que nunca necesitan codificación.
- Cadena de consulta: la parte posterior a ? que contiene los parámetros clave=valor.
- Fragmento: la parte posterior a #, usada dentro de la página.
- RFC 3986: el estándar que define la sintaxis de los URI.
- Punycode: la codificación xn-- que se usa para nombres de dominio no ingleses.
- Codificación doble: codificar texto que ya estaba codificado, produciendo secuencias %25XX.
¿Por qué usar este codificador de URL?
Cubre los tres estilos de codificación que los desarrolladores realmente encuentran, maneja correctamente el hindi y los emoji, explica los errores con claridad y divide las URL en partes legibles: gratis, instantáneo y privado.
Codificador / decodificador de URL: datos clave
| Componente | encodeURIComponent (estricto según RFC 3986): espacio → %20, & → %26, / → %2F |
|---|---|
| URL completa | encodeURI: conserva : / ? & = # para que la URL siga funcionando |
| Datos de formulario | Espacios → +, como en los envíos de formularios HTML |
| Unicode | Bytes UTF-8: «ह» → %E0%A4%B9, «₹» → %E2%82%B9 |
| Desglose | Protocolo, host, puerto, ruta, parámetros de consulta decodificados, fragmento |
| Privacidad | Se ejecuta en tu navegador |
Preguntas frecuentes
¿Qué es la codificación de URL?
La codificación de URL (codificación con porcentajes) sustituye los caracteres que no están permitidos o que tienen un significado especial en las URL por un % seguido de dos dígitos hexadecimales. Un espacio se convierte en %20, & en %26, y los caracteres no ingleses se convierten en sus bytes UTF-8, cada uno escrito como %XX.
¿Cuál es la diferencia entre encodeURIComponent y encodeURI?
encodeURIComponent codifica todo excepto letras, dígitos y - _ . ~: úsalo para un solo valor como un término de búsqueda. encodeURI deja intactos los caracteres de estructura de la URL como : / ? & = #: úsalo para una URL completa que solo necesita arreglar espacios y caracteres especiales.
¿Por qué mi espacio se convierte en + en lugar de %20?
Los formularios HTML enviados con application/x-www-form-urlencoded usan + para los espacios. Elige «Datos de formulario» para producir o decodificar ese estilo. En las rutas, usa %20.
¿Cómo se codifican los caracteres hindi en las URL?
Cada carácter se convierte en bytes UTF-8 y cada byte pasa a ser %XX. «ह» son tres bytes, así que se convierte en %E0%A4%B9. Los navegadores suelen mostrar el hindi legible en la barra de direcciones pero envían la forma codificada.
¿Por qué obtengo un error de decodificación?
La decodificación falla cuando un % no va seguido de dos dígitos hexadecimales (p. ej., «100%»), o cuando los bytes no forman UTF-8 válido. Corrige o quita el % suelto e inténtalo de nuevo.
¿Debo codificar una URL entera con el modo Componente?
No: eso convertiría https:// en https%3A%2F%2F y rompería el enlace. Usa el modo URL completa para URL enteras, o codifica solo los valores de los parámetros con el modo Componente.
¿Qué caracteres nunca necesitan codificación?
Los caracteres no reservados (A–Z, a–z, 0–9, guion, guion bajo, punto y tilde) son siempre seguros en las URL.
¿Por qué mi URL está codificada dos veces (%2520)?
%25 es un % codificado. Si ves %2520, el texto se codificó dos veces. Decodifica una vez para obtener %20 y otra más para obtener el espacio, y corrige el código que codifica dos veces.
¿Puedo ver los parámetros de una URL de seguimiento larga?
Sí. Pega la URL completa en el modo Codificar o su forma codificada en el modo Decodificar; el desglose enumera cada parámetro de consulta, decodificado, en una tabla.
¿Maneja los emoji?
Sí. Los emoji usan cuatro bytes UTF-8, así que cada uno se convierte en cuatro códigos %XX, y se decodifican correctamente.
¿Mis datos se envían a algún sitio?
No. La codificación y la decodificación se ejecutan en tu navegador.
¿El codificador de URL es gratis?
Sí. Es gratis, ilimitado y no requiere registro.
¡Haz que cualquier texto sea seguro para URL!
Codifica, decodifica e inspecciona URL al instante: gratis y privado.
Explora más herramientas de Prompt Minds
El codificador / decodificador de URL funciona muy bien junto con nuestras otras herramientas gratuitas. Todas las herramientas de Prompt Minds se ejecutan por completo en tu navegador: sin registro, sin subidas y sin marcas de agua. Ver todas las herramientas gratuitas.
