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.
| Texto | Base64 | URL (porcentaje) | Base64URL |
|---|---|---|---|
Hola | SG9sYQ== | Hola | SG9sYQ |
Año 2025 | QcOxbyAyMDI1 | A%C3%B1o%202025 | QcOxbyAyMDI1 |
¿Qué tal? | wr9RdcOpIHRhbD8= | %C2%BFQu%C3%A9%20tal%3F | wr9RdcOpIHRhbD8 |
a+b=c | YStiPWM= | a%2Bb%3Dc | YStiPWM |
https://utilteca.com/?q=café | aHR0cHM6Ly91dGlsdGVjYS5jb20vP3E9Y2Fmw6k= | https%3A%2F%2Futilteca.com%2F%3Fq%3Dcaf%C3%A9 | aHR0cHM6Ly91dGlsdGVjYS5jb20vP3E9Y2Fmw6k |
¿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
- Pega el texto o la cadena en el cuadro.
- Elige la operación: codificar o decodificar en Base64, Base64URL o URL.
- 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.