Decodificar URL (y codificar)

Decodificar URL online — y codificar texto para enlaces

Pega un enlace o un texto con códigos de porcentaje, como Espa%C3%B1a, y lee al instante el texto real, con la ñ y los acentos en su lugar. Una URL completa también se separa en dominio, ruta y parámetros, cada uno decodificado. Para el camino contrario, elige Codificar. Todo ocurre en tu navegador; no se envía nada.

Dirección
  • Texto decodificado

    https://www.ejemplo.com.mx/buscar?q=tacos al pastor&ciudad=Ciudad de México&cupon=ENVÍO+GRATIS&regreso=/carrito?paso=2#opiniones

Códigos % decodificados10
Capas de codificación1
Signos +Leídos como espacios
Protocolohttps:
Dominio (host)www.ejemplo.com.mx
Ruta/buscar
Fragmento (#)opiniones

Los parámetros se leen como los lee el navegador: + es un espacio.

Parámetros de la URL (decodificados)
#NombreValor
1qtacos al pastor
2ciudadCiudad de México
3cuponENVÍO+GRATIS
4regreso/carrito?paso=2

Se calcula en tu dispositivo · fórmulas comprobadas con resultados conocidos · Cómo las probamos

Cómo decodificar una URL

  1. Pega el enlace o el fragmento codificado en la caja, por ejemplo a%C3%B1o%202026. El texto legible aparece al momento.
  2. Si es una URL completa, además ves sus partes: protocolo, dominio (también en Unicode si lleva ñ o acentos), ruta, fragmento después del # y una tabla con cada parámetro ya decodificado.
  3. Deja marcado “Leer + como espacio” para enlaces de búsqueda y datos de formulario, donde el + significa espacio. Desmárcalo para otros textos, en los que + es solo el signo de más.
  4. Para codificar, elige Codificar, escribe el texto y elige cómo: parte de una URL (lo normal para el valor de un parámetro), URL completa, datos de formulario o RFC 3986 estricta.
  5. Pulsa Copiar junto al resultado. Si hay un % que no forma un código válido, la página te dice en qué posición está.

Por qué los enlaces se llenan de %

Una URL solo admite un conjunto pequeño de caracteres ASCII, y varios tienen una función: / separa la ruta, ? abre los parámetros, & y = los separan y # abre el fragmento. Cualquier otro carácter, y cualquiera de estos usado como dato, se escribe como un signo de porcentaje seguido de dos dígitos hexadecimales: el valor de un byte. Eso es la codificación por porcentaje (percent-encoding) de la RFC 3986.

El espacio es el byte 32, 20 en hexadecimal, por eso se vuelve %20. Los caracteres fuera del ASCII se convierten primero en sus bytes UTF-8 y cada byte recibe su propio código. Por eso el español se alarga tanto en los enlaces: la ñ ocupa dos bytes y queda como %C3%B1, la á como %C3%A1, y “año 2026” como a%C3%B1o%202026. Decodificar hace el camino inverso: cada código vuelve a ser un byte y los bytes se leen como texto UTF-8. Las letras sin tilde, los números y - . _ ~ nunca hace falta codificarlos.

Ejemplo: un enlace de tienda en línea

El ejemplo de la caja es un enlace de búsqueda como los que se comparten por WhatsApp o llevan parámetros UTM de una campaña:

https://www.ejemplo.com.mx/buscar?q=tacos+al+pastor&ciudad=Ciudad%20de%20M%C3%A9xico&cupon=ENV%C3%8DO%2BGRATIS&regreso=%2Fcarrito%3Fpaso%3D2#opiniones

Tiene 10 códigos % en una sola capa. Decodificado queda así:

https://www.ejemplo.com.mx/buscar?q=tacos al pastor&ciudad=Ciudad de México&cupon=ENVÍO+GRATIS&regreso=/carrito?paso=2#opiniones

La tabla de parámetros muestra 4: q = “tacos al pastor”, ciudad = “Ciudad de México”, cupon = “ENVÍO+GRATIS”, regreso = “/carrito?paso=2”. Fíjate en tres detalles. En q, los + se volvieron espacios, porque en los parámetros el + significa espacio. En cupon, el %2B se volvió un + de verdad: así se envía un signo de más dentro de un parámetro. Y el último valor es a su vez una ruta con parámetros; por eso su /, su ? y su = se codificaron: sin codificar, ese = cortaría el parámetro antes de tiempo. El fragmento, #opiniones, nunca se envía al servidor.

¿encodeURIComponent, encodeURI o formulario?

Las cuatro formas de codificar se distinguen por los caracteres que dejan intactos:

CarácterParte de una URLURL completaFormularioRFC 3986 estricta
espacio%20%20+%20
&ampersand%26&%26%26
+más%2B+%2B%2B
/diagonal%2F/%2F%2F
=igual%3D=%3D%3D
?interrogación%3F?%3F%3F
#numeral%23#%23%23
ñeñe%C3%B1%C3%B1%C3%B1%C3%B1
áa con tilde%C3%A1%C3%A1%C3%A1%C3%A1
€euro%E2%82%AC%E2%82%AC%E2%82%AC%E2%82%AC

Eñes rotas: ISO-8859-1, “España” y doble codificación

Dominios con ñ

La ñ y las vocales con tilde también pueden ir en nombres de dominio. Viajan por internet en una forma ASCII llamada Punycode (RFC 3492), marcada con xn--: españa.es se envía como xn--espaa-rta.es. Pega cualquiera de las dos formas: la página muestra el dominio como lo envía el navegador y en Unicode. Punycode no es codificación por porcentaje, así que un dominio nunca debería aparecer con códigos %.

Consejos

La decodificación y la codificación se hacen en tu navegador: nada de lo que pegas se envía ni se guarda, y al recargar la página la caja queda vacía. Los enlaces suelen llevar tokens de sesión y datos personales, así que eso importa.

Preguntas frecuentes

¿Qué significa %20 en un enlace?

Es un espacio codificado: 20 es el valor hexadecimal del carácter de espacio. Pega el enlace aquí y todos los códigos vuelven a ser texto legible.

¿Por qué mi enlace tiene %C3%B1 o %C3%A1?

Son la ñ y la á en UTF-8, que ocupan dos bytes cada una; cada byte se vuelve un código %. Al decodificar, las letras regresan a su lugar.

¿Por qué aparece %2520 en la URL?

Se codificó dos veces. La primera, el espacio se volvió %20; la segunda, el propio % se volvió %25. La página lo detecta y deshace todas las capas.

¿Qué diferencia hay entre encodeURI y encodeURIComponent?

encodeURI codifica una URL completa y conserva los caracteres que le dan estructura, como / ? & = #. encodeURIComponent codifica una pieza —el valor de un parámetro o un tramo de la ruta— y codifica también esos caracteres para que no rompan la URL que la rodea.

¿El + de un enlace es un espacio?

En los parámetros de formularios y búsquedas, sí: ?q=tacos+al+pastor significa “tacos al pastor”. Fuera de ellos, y en la codificación de la RFC 3986, + es el signo de más y el espacio es %20. Para enviar un + de verdad en un parámetro, usa %2B.

¿Se envía a algún sitio el enlace que pego?

No. La página decodifica y codifica con JavaScript en tu navegador, sin enviar nada a un servidor, y no guarda lo que pegas.

Inserta esta calculadora en tu sitio web

Gratis para cualquier sitio o blog. Pega este código donde quieras que aparezca la calculadora:

Última actualización: 16 de octubre de 2026

Menú

Categorías

Calculadoras financieras15 calculadorasCalculadoras de negocios y compras6 calculadorasCalculadoras de salud y bienestar8 calculadorasCalculadoras de matemáticas y escuela16 calculadorasCalculadoras de fechas y horas9 calculadorasCuentas regresivas para fiestas6 calculadorasHerramientas para el día a día32 calculadorasHerramientas de imagen y PDF18 calculadorasHerramientas de micrófono, cámara y sonido10 calculadorasHerramientas para desarrolladores5 calculadoras

CalcWorthy

Acerca deContactoPolítica de privacidadTérminos de uso

Idioma

Idioma
EspañolSpanishEnglishEnglishالعربيةArabicবাংলাBanglaDeutschGermanفارسیPersianFrançaisFrenchעבריתHebrewहिन्दीHindiBahasa IndonesiaIndonesianItalianoItalian日本語Japanese한국어KoreanBahasa MelayuMalayNederlandsDutchPolskiPolishPortuguêsPortugueseРусскийRussianไทยThaiTürkçeTurkishУкраїнськаUkrainianاردوUrduTiếng ViệtVietnamese简体中文Simplified Chinese