Codificador y Decodificador de URL
Codifica una URL por porcentaje o decodifícala para que funcione bien en consultas y formularios — al instante.
Tu texto se queda en tu equipo
Nada que borrar después
Seguro para URLs con tokens
Funciona en todo navegador moderno
Cómo funciona
- 1
Pega tu texto o URL
Un valor de parámetro para codificar, o una cadena con porcentajes para leerla de vuelta.
- 2
Elige adónde va
Una URL entera, o un único componente que va dentro de una: las reglas cambian.
- 3
Copia el resultado
Llévalo a un enlace, una petición, un destino de redirección o un valor de configuración.
Por qué usar esta herramienta
Modos de componente y de URL completa
Codifica el valor de un parámetro o una dirección entera: necesitan reglas distintas, y mezclarlas es el fallo habitual.
El espacio se trata de forma explícita
Elige `%20` o `+`, porque una cadena de consulta y un segmento de ruta no coinciden en cuál significa espacio.
Doble codificación evitada
La entrada ya codificada se reconoce, así que `%20` no se convierte en silencio en `%2520`.
UTF-8 hecho como es debido
Los caracteres árabes, turcos y con tilde se vuelven las secuencias de bytes correctas y no una salida destrozada.
No se sube nada
La conversión ocurre en tu navegador: una URL con un token de sesión nunca llega a un servidor.
Gratis y sin cuenta
Sin registro, sin marca de agua y sin límite de cuánto conviertas.
No existe una sola «codificación de URL»: hay dos, y no se ponen de acuerdo
Este es el hecho que resuelve casi toda la confusión en torno a esta tarea. Codificar una URL entera y codificar una pieza que va dentro de una URL son operaciones distintas con reglas distintas, y usar la equivocada es la forma más común de romper un enlace. Una dirección completa necesita que sus `/`, `?`, `&`, `#` y `:` se dejen en paz, porque es la puntuación que le da forma. Un valor suelto —un término de búsqueda, un destino de redirección, un nombre de archivo en un parámetro— necesita justamente que esos caracteres se escapen, porque dentro de un valor son datos y no estructura. Codifica una URL entera con reglas de componente y obtienes una cadena inservible de `%2F` y `%3A`. Codifica un componente con reglas de URL completa y una barra en tu valor se convierte en silencio en un separador de ruta. Decide cuál de las dos estás haciendo antes de empezar.
El punto de la dirección en que estás decide qué hay que escapar
Se deduce de lo anterior, y conviene decirlo directamente porque explica los casos que parecen incoherentes. Una barra dentro de una ruta es un separador y debe seguir siendo una barra; una barra dentro del valor de un parámetro es solo un carácter y puede quedarse, aunque escaparla es más seguro. Un signo de interrogación en la ruta abre la cadena de consulta; ese mismo carácter dentro del valor de un parámetro debe ser `%3F` o todo lo que venga después se leerá como más parámetros. El ampersand dentro de un valor es el caso más afilado: déjalo en crudo y el valor se parte en dos, así que una búsqueda de «R&D» llega como un parámetro llamado `D`. La regla que hay que llevarse es que los caracteres reservados solo están reservados donde pueden cumplir su función, y dentro de un valor no pueden: por eso justamente allí hay que escaparlos.
El signo más significa dos cosas distintas, y ambas son correctas
El espacio es el carácter que todo el mundo encuentra primero y el de historia más enredada. La codificación en porcentaje dice que un espacio es `%20`, y en un segmento de ruta esa es la única respuesta correcta: un `+` literal en una ruta es un signo más y nada más. Pero el envío de formularios HTML definió su propia codificación para las cadenas de consulta, en la que un espacio es `+` y un más literal debe escribirse `%2B`. Las dos convenciones siguen vivas, ambas son correctas en su contexto, y los decodificadores las tratan distinto: uno en modo cadena de consulta convierte `+` en espacio y uno en modo ruta lo deja tal cual. Por eso un valor con un más —un teléfono en formato internacional, un correo con etiqueta como `nombre+trabajo@ejemplo.com`— llega tantas veces con el más sustituido por un espacio. Si tu valor puede llevar un más literal, escápalo como `%2B` y deja de depender de qué convención eligió el receptor.
La doble codificación es el fallo con el que de verdad te vas a topar
Como `%` abre una secuencia de escape, el propio signo de porcentaje tiene que codificarse, como `%25`. Esa única regla crea el fallo más común de toda esta área. Codifica una cadena dos veces y `%20` se convierte en `%2520`, porque el `%` del primer resultado lo escapa la segunda pasada. El resultado se decodifica una vez en `%20` —visible, literal, en medio de tu valor— en lugar de en un espacio. Esto ocurre constantemente: una URL la codifica una aplicación y luego la vuelve a codificar un framework, un manejador de redirecciones o un rastreador de enlaces que da por hecho que recibió texto en crudo. El síntoma es un enlace que funciona en un sitio y muestra `%2520` o `%253A` en otro. Cuando veas un `25` delante de otra secuencia de escape, estás ante una doble codificación, y el arreglo es quitar un paso, no decodificar dos veces.
Los caracteres fuera de ASCII se codifican como bytes, no como caracteres
La codificación en porcentaje no tiene concepto de letra. Escapa bytes, lo que significa que cualquier carácter fuera de ASCII debe convertirse antes en bytes, y el estándar para eso es UTF-8. Por eso una sola letra árabe se convierte en tres secuencias de escape y un emoji en cuatro: estás viendo sus bytes UTF-8 escritos uno a uno. La consecuencia que conviene saber es que un codificador con otro juego de caracteres produce una salida distinta para la misma entrada, y así es como una URL con un nombre dentro funciona en un sistema y devuelve un 404 en otro. Hay además un segundo mecanismo que la gente confunde con este: un nombre de dominio fuera de ASCII no se codifica en porcentaje en absoluto, sino que se convierte a Punycode, un esquema completamente aparte que produce los prefijos `xn--` que a veces se ven. Ruta y consulta usan porcentaje; el host no.
Por qué codificar en local importa con este tipo de texto
Piensa en las URLs que la gente pega en un codificador. Es una dirección de retorno con un token de sesión en la cadena de consulta. Es un enlace firmado con un parámetro de firma que caduca. Es una URL de restablecimiento de contraseña que alguien está depurando, un endpoint de webhook con un secreto compartido, una dirección interna de administración que revela un nombre de host. Las URLs llevan credenciales en sus cadenas de consulta mucho más a menudo de lo que se nota, precisamente porque una cadena de consulta parece configuración y no un secreto. Pegar una en un codificador alojado manda todo a un tercero, y si esa URL contiene un token en funcionamiento acabas de compartir una credencial viva. Esta herramienta convierte dentro de la página y no transmite nada, y puedes comprobarlo en la pestaña Red de las herramientas de desarrollo.
Errores comunes que conviene evitar
- Codificar una URL entera con reglas de componente. Los `/` y `:` se vuelven `%2F` y `%3A` y la dirección deja de ser una dirección: las URLs completas y los valores dentro de ellas piden reglas distintas.
- Dejar un ampersand en crudo dentro del valor de un parámetro. Parte el valor en dos, así que una búsqueda de «R&D» llega como un parámetro extra llamado `D`; escápalo como `%26`.
- Suponer que `+` siempre significa espacio. Lo significa en una cadena de consulta y no en una ruta, así que un más literal en un teléfono o en un correo con etiqueta debe escribirse `%2B` sea cual sea el contexto.
- Codificar algo que ya estaba codificado. El `%` se escapa como `%25`, así que `%20` pasa a `%2520` y se decodifica en texto visible en vez de un espacio: quita un paso, no decodifiques dos veces.
- Pegar una URL de retorno o de restablecimiento en un codificador alojado. Las cadenas de consulta llevan tokens de sesión y firmas mucho más a menudo de lo que se nota; codifica en local.
Comparativa
| Aspecto | Esta herramienta | Codificadores online | La consola del navegador |
|---|---|---|---|
| Contenido enviado a un servidor | Nunca | Normalmente sí | No |
| Modos componente y URL completa | Ambos, explícitos | A menudo solo uno | Dos funciones distintas |
| Convención de espacio elegible | Sí | Rara vez | No |
| Doble codificación detectada | Sí | Rara vez | No |
| Cuenta o registro | No hace falta | A menudo exigido | No hace falta |
| Precio | Gratis | Gratis / planes de pago | Gratis |
Características
Codificar y decodificar
Los dos sentidos en un solo sitio, con entrada y salida una al lado de la otra.
URL completa frente a componente
La primera conserva `/`, `?` y `&`; el segundo los escapa, porque dentro de un valor son datos.
Espacio como `%20` o `+`
Ajústate a la convención del contexto por el que viaja el valor.
Secuencias de bytes UTF-8 correctas
Los caracteres fuera de ASCII se codifican byte a byte, como exige el estándar.
Aguanta entradas largas
Cadenas de consulta enteras y cadenas de redirección largas se convierten sin tope de tamaño.
Entrada malformada señalada
Un `%` suelto o una secuencia de escape incompleta se informa en vez de descartarse en silencio.
Nada que instalar
Sin consola, sin entorno de ejecución, sin dependencias: funciona en la página web.
Listo para árabe y RTL
Interfaz completa en ocho idiomas, incluido el árabe de derecha a izquierda.
Seguro por defecto
Servido por HTTPS, sin rastreo de contenido ni subida a terceros.
Quién la usa
Desarrolladores
Construir un parámetro de consulta que sobreviva a lo que sea que le haga el sistema receptor.
Integradores de API
Codificar un destino de redirección o una dirección de retorno sin romper la URL que lo contiene.
Equipos de marketing
Hacer seguros los parámetros de campaña cuando el valor lleva espacios, ampersands o texto no latino.
Ingenieros de soporte
Leer de vuelta un enlace enviado por un cliente para ver qué dicen realmente los parámetros.
Preguntas Frecuentes
No. Todo se ejecuta localmente en tu navegador — tu texto nunca se sube, guarda ni comparte.
Sí — totalmente gratis, sin cuenta y sin límites.