Qué es Base64 en una sola frase
Base64 es una forma de representar datos binarios —bytes que no son necesariamente texto imprimible— usando solo 64 caracteres ASCII que cualquier sistema entiende: A-Z, a-z, 0-9, más + y /. No es cifrado. No es compresión. Es una traducción que convierte binario en algo que se puede meter sin riesgo en una URL, en el cuerpo de un correo, dentro de una cadena JSON o en cualquier sitio que espere texto plano. La decodificación deshace la traducción.
Cada tres bytes de entrada se convierten en cuatro caracteres de salida, con relleno de = para mantener alineada la longitud. Por eso una cadena codificada en Base64 siempre es entre un 33% y un 37% más larga que el original.
Cómo funciona el codificador/decodificador de Microapp
Pega cualquier texto en el cuadro de entrada y la versión codificada aparece al instante en la salida. La conversión sucede en tu navegador: tu texto nunca llega a nuestros servidores. Para decodificar, cambia el conmutador de dirección y pega tu cadena Base64; el texto original reaparece.
La herramienta maneja correctamente la entrada en UTF-8, algo más importante de lo que suele parecer. El btoa() nativo de JavaScript falla con Unicode (prueba a codificar "café" y verás que lanza un error). El codificador de Microapp convierte primero a bytes UTF-8 y luego aplica Base64, así que los emoji, los caracteres acentuados y los alfabetos no latinos van y vuelven sin problemas.
Hello!Paso 1: los bytes son
72 101 108 108 111 33 (ASCII).Paso 2: reagrupar en trozos de 6 bits:
010010 000110 010101 101100 011011 000110 111100 100001.Paso 3: cada trozo de 6 bits corresponde a un carácter Base64:
SGVsbG8h. Listo.
Para qué se usa Base64
Para incrustar imágenes directamente en HTML o CSS mediante URLs data:image/png;base64,...: la imagen vive dentro de la página, sin una petición HTTP aparte. Útil para iconos diminutos o documentos de una sola página que tienen que funcionar sin conexión.
Cabeceras de autorización. El Basic auth de HTTP codifica literalmente usuario:contraseña en Base64 y lo envía. No es seguro por sí solo: es una capa de ofuscación muy fina sobre el cable, por eso Basic auth se usa siempre junto a HTTPS en la práctica.
Adjuntos de correo. La especificación MIME usa Base64 para cualquier adjunto binario porque el protocolo SMTP, históricamente, solo aceptaba ASCII de 7 bits. Hoy en día, el correo sigue codificando así los adjuntos.
Cargas JSON con datos binarios. Las APIs que aceptan archivos en un cuerpo JSON suelen pedirlos codificados en Base64 para que quepan dentro del campo de cadena.
Lo que Base64 NO es
No es cifrado. Cualquiera puede decodificar una cadena Base64 con dos líneas de código o con esta herramienta. Si "codificas datos sensibles" solo con Base64, los datos no están protegidos: solo van disfrazados. Usa cifrado de verdad (AES, RSA) cuando necesites confidencialidad.
No es compresión. Base64 siempre hace los datos más grandes, nunca más pequeños. El 33% de sobrecarga es el precio de permanecer en ASCII.
No es un hash. Un hash es de un solo sentido (no puedes recuperar la entrada a partir de la salida). Base64 es totalmente reversible: precisamente la idea es que puedas decodificarlo de vuelta.
Trampas comunes
Base64 seguro para URL. El alfabeto estándar utiliza + y /, los dos con significado dentro de las URLs y que requieren codificación porcentual. El Base64 seguro para URL los cambia por - y _ y elimina el relleno =. Si una cadena Base64 de un JWT o de un token OAuth no se decodifica, comprueba si está en variante segura para URL.
Saltos de línea. Algunas salidas Base64 (sobre todo MIME) incluyen un salto de línea cada 76 caracteres. La mayoría de decodificadores los ignoran, pero alguno estricto puede rechazar la entrada. El decodificador de Microapp elimina espacios antes de decodificar.
Relleno. La longitud de una cadena Base64 válida es siempre múltiplo de 4. Las cadenas terminadas en == tenían 1 byte de entrada en el último grupo; = indicaba 2 bytes; sin relleno significaba 3. Algunas implementaciones omiten el relleno: la mayoría de decodificadores lo asume, pero los estrictos pueden tropezar.
Herramientas relacionadas
Si lo que necesitas es codificar caracteres para una URL (no datos binarios cualesquiera), prueba el Codificador/Decodificador de URL. Para hashes de un solo sentido que no se pueden revertir, el Generador de Hash MD5 o el Generador SHA-256 son las herramientas adecuadas. Para convertir caracteres HTML especiales como < y > en entidades, usa el Codificador/Decodificador HTML.