Codificador y decodificador Base64 y URL

Pega tu texto, elige operación y obtén el resultado al instante. Todo se procesa en tu navegador: el texto no se envía a ningún servidor.

Ejemplos de codificación
TextoBase64URL (porcentaje)Base64URL
HolaSG9sYQ==HolaSG9sYQ
Año 2025QcOxbyAyMDI1A%C3%B1o%202025QcOxbyAyMDI1
¿Qué tal?wr9RdcOpIHRhbD8=%C2%BFQu%C3%A9%20tal%3Fwr9RdcOpIHRhbD8
a+b=cYStiPWM=a%2Bb%3DcYStiPWM
https://utilteca.com/?q=caféaHR0cHM6Ly91dGlsdGVjYS5jb20vP3E9Y2Fmw6k=https%3A%2F%2Futilteca.com%2F%3Fq%3Dcaf%C3%A9aHR0cHM6Ly91dGlsdGVjYS5jb20vP3E9Y2Fmw6k

¿Para qué sirve Base64?

Base64 permite representar datos binarios usando solo 64 caracteres ASCII imprimibles (A-Z, a-z, 0-9, +, /). Casos típicos: incrustar imágenes en HTML/CSS (data URIs), enviar binarios en JSON, codificar tokens de autenticación.

Cada 3 bytes de entrada se convierten en 4 caracteres, así que el resultado ocupa aproximadamente un 33 % más que el original. Cuando el número de bytes no es múltiplo de 3, se completa con uno o dos signos = de relleno (padding).

Base64 vs Base64URL

El estándar Base64 usa + y /, que son problemáticos en URLs. Base64URL los sustituye por - y _ y omite el padding =. Es lo que se usa en JWT, JWE y otros tokens web.

URL encoding

El URL encoding (porcentaje) convierte caracteres especiales en su representación hexadecimal precedida de %. Por ejemplo, espacio → %20, ñ → %C3%B1 (UTF-8). Es obligatorio para incluir caracteres no ASCII en URLs.

Solo quedan sin codificar las letras sin tilde, los dígitos y los signos -, _, . y ~ (los caracteres «no reservados» del estándar RFC 3986). Todo lo demás, incluidos &, =, ? y /, se codifica, por lo que el resultado se puede usar con seguridad como valor de un parámetro.

Cómo usar la herramienta

  1. Pega el texto o la cadena en el cuadro.
  2. Elige la operación: codificar o decodificar en Base64, Base64URL o URL.
  3. Pulsa «Procesar» y copia el resultado con el botón.

El texto se trata como UTF-8, igual que en la mayoría de lenguajes y APIs web: las tildes, la ñ y los emojis ocupan varios bytes y se codifican correctamente. Si al decodificar aparece el error de cadena no válida, revisa que no falten caracteres al final o que no se haya colado un espacio raro o un salto de línea en medio de un token. Para decodificar un JWT, copia solo una de sus tres partes (separadas por puntos) y usa «Base64URL → decodificar».

Preguntas frecuentes

¿Base64 es cifrado?

No, es solo codificación. Cualquiera puede decodificarlo. No metas contraseñas en Base64 pensando que están protegidas.

¿Cuál es la diferencia entre urlencode y rawurlencode?

rawurlencode codifica el espacio como %20 (RFC 3986). urlencode lo codifica como + (forma antigua de formularios). Aquí usamos rawurlencode, que es lo más correcto para URLs modernas.

¿Por qué una cadena Base64 termina en = o ==?

Es el relleno (padding): indica que el último bloque tenía 1 o 2 bytes en lugar de 3. Base64URL suele omitirlo, y esta herramienta lo añade automáticamente al decodificar.

¿Cómo leo el contenido de un token JWT?

Un JWT tiene tres partes separadas por puntos. Copia la primera (cabecera) o la segunda (datos) y decodifícala con «Base64URL → decodificar». La tercera es la firma, que es binaria y no se lee como texto.