Para qué sirve Base64
Base64 convierte cualquier secuencia de bytes en texto compuesto por 64 caracteres seguros: A–Z, a–z, 0–9, + y /. Cada 3 bytes (24 bits) se convierten en 4 caracteres de 6 bits cada uno, así que la salida es un tercio mayor que la entrada. Existe porque muchos canales, entre ellos el correo, JSON, XML, las cabeceras HTTP y las URL, solo pueden transportar texto, y los bytes en bruto se corromperían o se interpretarían mal.
- Toma 3 bytes: 24 bits.
- Divídelos en cuatro grupos de 6 bits (valores 0–63).
- Sustituye cada grupo por su carácter del alfabeto.
- Si la longitud de la entrada no es múltiplo de 3, rellena el último grupo con bits a cero y añade uno o dos
=.
hi es 0x68 0x69 = 01101000 01101001; reagrupado como 011010 000110 1001(00) da 26, 6, 36 → aGk, más un = por el byte que falta: aGk=.
Estándar frente a URL-safe
Los caracteres + y / tienen significado especial en URL y nombres de archivo, por eso el RFC 4648 §5 define un segundo alfabeto que usa - y _ en su lugar, normalmente sin relleno. Los JWT, los tokens OAuth y muchas API usan esta forma «base64url». El decodificador de aquí acepta ambas, con o sin relleno, e ignora los saltos de línea.
No es cifrado
Base64 no oculta nada; cualquiera puede decodificarlo al instante. Úsalo para transportar bytes, nunca para protegerlos. Si ves un secreto «codificado» en Base64 en un archivo de configuración, trátalo como texto en claro.
Codificación del texto
Base64 trabaja con bytes, así que el texto tiene que convertirse primero en bytes. Esta herramienta usa UTF-8, que es lo que esperan las API web, JSON y casi todo el software moderno. Un resultado decodificado que no sea UTF-8 válido se muestra como hex en lugar de como caracteres sin sentido.
Preguntas
¿Por qué mi Base64 termina en = o ==?
Relleno. La longitud de la entrada no era múltiplo de 3 bytes, así que se completó el último bloque. Un = significa que había dos bytes en el último grupo; == significa uno. Muchos decodificadores aceptan entrada sin relleno, y la variante URL-safe suele omitirlo.
¿Base64 es seguro?
No. Es una codificación, no un cifrado; cualquiera puede revertirla. Protege los datos de corromperse en tránsito, no de ser leídos.
¿Cuánto agranda Base64 un archivo?
Alrededor de un 33 % (4 bytes de salida por cada 3 de entrada), más hasta un 3 % adicional si se parten las líneas para MIME.
¿Por qué mi texto decodificado son caracteres sin sentido?
Normalmente los datos no eran texto (una imagen, un blob comprimido) o el texto estaba en una codificación distinta de UTF-8. Mira la vista hex: un 89 50 4E 47 inicial es un PNG, 1F 8B es gzip, 25 50 44 46 es un PDF.
¿Qué es una URL data:?
Una URL que contiene el propio archivo, p. ej. data:image/png;base64,iVBOR… Permite incrustar imágenes o fuentes pequeñas directamente en HTML o CSS. El codificador te da una cuando arrastras un archivo.
¿Esta herramienta sube mi archivo?
No. El archivo lo lee JavaScript en tu navegador y no se envía a ningún sitio. Recarga la página y desaparece.