Gratis, sin registro
Decodificar y codificar Base64
Base64 escribe cualquier dato con 64 caracteres seguros: «¡Hola, mundo!» se convierte en wqFIb2xhLCBtdW5kbyE=. Pega Base64 para decodificarlo o escribe texto para codificarlo; la herramienta gestiona las tildes, la ñ y los emojis en UTF-8, la variante apta para URL de los tokens, las líneas de 76 caracteres del correo electrónico y archivos enteros convertidos en data URL. Todo funciona en tu navegador y nada se envía a ningún servidor.
Cómo se usa
- Elige codificar o decodificar. En la pestaña «Texto», elige «Codificar» para convertir texto en Base64 o «Decodificar» para leer una cadena Base64. Para imágenes y documentos, usa la pestaña «Archivo».
- Pega o escribe. El resultado se actualiza mientras escribes. Al decodificar, se ignoran los espacios y los saltos de línea, y se aceptan tanto el alfabeto estándar como el apto para URL, con o sin relleno.
- Copia o descarga. Copia el resultado con un clic. En la pestaña «Archivo» puedes copiar la data URL, descargarla como archivo de texto o convertir el Base64 que pegues en el archivo original.
Cómo funciona Base64
Los ordenadores guardan los datos en bytes de 8 bits, pero muchos canales, como el correo electrónico, las URL, JSON o los atributos HTML, solo transportan texto sin riesgos. Base64 lo resuelve tomando los bytes de 3 en 3 (24 bits) y dividiéndolos en 4 grupos de 6 bits. Cada grupo de 6 bits es un número del 0 al 63 y elige un carácter de un alfabeto fijo: A–Z, a–z, 0–9, + y /.
Cuando los datos no son un múltiplo de 3 bytes, el último grupo se completa con bits a cero y los caracteres que faltan se sustituyen por =. Por eso «Man» se codifica como TWFu, «Ma» como TWE= y «M» como TQ==. El dibujo bajo la herramienta lo muestra bit a bit con los tres primeros bytes de lo que escribas.
| Entrada | Bytes | Base64 |
|---|---|---|
| Man | 3 | TWFu |
| Ma | 2 | TWE= |
| M | 1 | TQ== |
| ñ | 2 (c3 b1) | w7E= |
| € | 3 (e2 82 ac) | 4oKs |
Cada 3 bytes se convierten en 4 caracteres, así que Base64 ocupa alrededor de un tercio más que el original: 30.000 bytes se convierten en 40.000 caracteres, un 33,3 % más. El texto se pasa primero a bytes con UTF-8, y por eso una ñ ocupa 2 bytes y el símbolo del euro, 3 bytes y 4 caracteres Base64.
Dónde se usa Base64
- Adjuntos de correo electrónico: MIME codifica los archivos en Base64 y corta las líneas a 76 caracteres. Activa «Líneas de 76 caracteres» para obtener el mismo formato.
- Data URL en HTML y CSS: un icono pequeño se puede incrustar como data:image/png;base64,… y la página hace una petición menos. Usa la pestaña «Archivo» para crearla.
- Tokens web: un JSON Web Token (JWT) son tres partes en base64url separadas por puntos. La cabecera {"alg":"HS256","typ":"JWT"} se convierte en eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. Decodificar un token muestra su contenido, pero para comprobar la firma hace falta la clave.
- Autenticación básica HTTP: la cabecera «Authorization: Basic dXN1YXJpbzpjbGF2ZQ==» es simplemente usuario:clave en Base64, y por eso solo debe viajar por HTTPS.
- API y archivos de configuración: los datos binarios, como certificados, claves e imágenes, se suelen meter en JSON o YAML en Base64.
Base64 no es cifrado
Base64 es una codificación, no un cifrado: no hay clave y cualquiera puede decodificarlo en un segundo, con esta herramienta o con una línea de código. No oculta nada. Una contraseña, una clave de API o unos datos personales guardados en Base64 están tan expuestos como en texto plano.
Para proteger datos, usa un cifrado de verdad (por ejemplo, AES) y envíalos por HTTPS; para guardar contraseñas, usa una función hash lenta pensada para ello. Base64 solo sirve para que los datos viajen sin problemas por sistemas que esperan texto. Si necesitas valores al azar, como un sorteo o una muestra de prueba, prueba el generador de números aleatorios.
Esta herramienta decodifica en tu navegador, así que pegar aquí un token no lo envía a ningún sitio. Aun así, trata los tokens y las claves de producción como secretos.
Variantes: apto para URL, relleno y saltos de línea
Los caracteres + y / tienen un significado especial en las direcciones web y en los nombres de archivo. La variante base64url los sustituye por - y _: los mismos bytes dan PDw/Pz8+Pg== en Base64 estándar y PDw_Pz8-Pg== en base64url. A menudo también se elimina el relleno =, porque la longitud de la cadena ya indica dónde terminan los datos.
El decodificador acepta los dos alfabetos y funciona con o sin relleno. Muestra un error preciso cuando un carácter no pertenece al alfabeto (con su posición), cuando la longitud no puede ser válida o cuando aparece un = en mitad de la cadena. Los espacios y los saltos de línea se omiten, como exige MIME.
Ejemplos resueltos
Codificar un texto corto
«¡Hola, mundo!» ocupa 14 bytes en UTF-8, porque el signo ¡ ocupa 2. Como 14 = 4 × 3 + 2, el resultado tiene 5 grupos de 4 caracteres y termina con un solo =: wqFIb2xhLCBtdW5kbyE=.
Leer una cabecera de autenticación básica
Pega dXN1YXJpbzpjbGF2ZQ== en «Decodificar» y obtienes usuario:clave. Cualquiera que vea la cabecera puede leer las credenciales.
Un carácter fuera del ASCII
La ñ es U+00F1; en UTF-8 son los 2 bytes c3 b1, que se convierten en w7E=. El símbolo del euro, U+20AC, son los 3 bytes e2 82 ac, que dan 4oKs.
Fuentes
- RFC 4648, «The Base16, Base32, and Base64 Data Encodings» (IETF, 2006): sección 4 (alfabeto Base64), sección 5 (base64url), sección 3.2 (relleno), sección 3.3 (caracteres fuera del alfabeto) y sección 10 (vectores de prueba).
- RFC 2045, «Multipurpose Internet Mail Extensions (MIME) Part One» (IETF, 1996), sección 6.8: codificación de transferencia Base64 con líneas de 76 caracteres como máximo.
- RFC 7519, «JSON Web Token (JWT)» (IETF, 2015): uso de base64url sin relleno.
- RFC 3629, «UTF-8, a transformation format of ISO 10646» (IETF, 2003): codificación de los caracteres en 1 a 4 bytes.
Los ejemplos de esta página se calculan con el mismo código que la herramienta, así que las cadenas del texto coinciden siempre con lo que produce. Fuentes verificadas el 22/10/2026.
Preguntas frecuentes
¿Cómo decodifico Base64?
¿Base64 es un cifrado?
¿Por qué Base64 termina en = o ==?
¿Por qué Base64 ocupa más que el original?
¿Qué diferencia hay entre Base64 y base64url?
¿Por qué me sale un error de carácter no válido?
¿Se suben mis archivos?
Última actualización: miércoles, 14 de octubre de 2026