Decodificar una palabra sencilla
SGVsbG8gV29ybGQ=
Hello World
El = final es padding porque Hello World ocupa 11 bytes, que no es múltiplo de 3. Al decodificar, ese relleno se elimina sin tocar el contenido.
Codifica o decodifica cadenas y archivos Base64 al instante.
Última actualización
Base64 es un esquema de codificación que representa datos binarios usando 64 caracteres imprimibles. Los desarrolladores recurrimos a él cada vez que un sistema que solo entiende texto necesita transportar bytes: imágenes pequeñas embebidas en HTML, tokens, adjuntos de correo, data URL, secretos pegados en logs o campos de JSON que guardan blobs binarios.
Base64 es *codificación*, no cifrado. Decodificar una cadena Base64 suele revelar el contenido original al instante, así que nunca debe usarse como mecanismo de seguridad. Cualquier cosa metida en Base64 es prácticamente pública, salvo que la hayas cifrado *antes* de codificarla.
Por dentro, Base64 toma 3 bytes (24 bits) y los reescribe como 4 caracteres de un alfabeto fijo de 64 (A–Z, a–z, 0–9, +, /). Cuando la longitud de entrada no es múltiplo de 3, el codificador añade uno o dos caracteres = al final como relleno (padding). Por eso muchas cadenas Base64 acaban en =.
= completan el último grupo de 4 y son totalmente normales en muchas cadenas Base64.Selecciona Codificar si tienes texto plano o un archivo y quieres obtener Base64. Selecciona Decodificar si tienes una cadena Base64 y quieres recuperar el contenido original.
Pega una cadena en el cuadro de texto, o arrastra un archivo (imagen, PDF, lo que sea) sobre la zona de carga. Los archivos se convierten en una data: URL lista para incrustar en HTML o CSS.
La salida codificada es la cadena Base64. La salida decodificada es el texto original — o, si la entrada era un archivo, los bytes recuperados como un enlace de descarga.
Pulsa el botón de copiar para llevar el resultado al portapapeles. Todo se ejecuta en tu navegador, así que la entrada nunca sale de tu equipo.
Las piezas con las que te vas a topar una y otra vez al trabajar con Base64 — definidas en el RFC 4648.
| Elemento | Significado | Ejemplo |
|---|---|---|
| Alfabeto | Los 64 caracteres del Base64 estándar | A–Z, a–z, 0–9, +, / |
| Alfabeto URL-safe | El que usan los JWT y las URL | A–Z, a–z, 0–9, -, _ |
| Padding | Rellena el último grupo cuando la longitud no es múltiplo de 3 | = o == |
| Tamaño de grupo | Bytes por bloque codificado → 4 caracteres de salida | 3 bytes → 4 caracteres |
| Crecimiento | La salida es ~33 % más grande que la entrada | 100 B → 136 caracteres |
| Data URL | Archivo embebido en línea para HTML/CSS | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
El = final es padding porque Hello World ocupa 11 bytes, que no es múltiplo de 3. Al decodificar, ese relleno se elimina sin tocar el contenido.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
Los tokens JWT codifican cada segmento exactamente igual — por eso los payloads de JWT casi siempre empiezan por eyJ, que es la forma Base64 de {".
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
El prefijo declara el tipo de medio (image/png) y la codificación (base64). Todo lo que va después de la coma es el contenido del archivo. Va de maravilla para imágenes muy pequeñas que se cargan junto con la página.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
Base64 URL-safe cambia + por - y / por _ para que el valor pueda ir dentro de una URL sin escapar nada más. Los JWT usan esta variante.
= y pasárselo a un decodificador estricto que sí lo espera. (Los decodificadores URL-safe suelen aceptar el padding ausente; los estándar puede que no.)= como padding.atob() en el navegador, Buffer.from(str, 'base64') en Node.js, base64.b64decode() en Python.=?= es padding. Base64 produce 4 caracteres por cada 3 bytes de entrada. Cuando la longitud de entrada no es múltiplo de 3, se añaden uno o dos = para que la longitud codificada siga siendo múltiplo de 4.data:image/png;base64,... para que la imagen quede embebida directamente en HTML, CSS o JSON, sin una petición de red aparte.