Base64 Codificar / Decodificar
- Elige el modo: codificar o decodificar.
- Pega o escribe el texto.
- El resultado se actualiza mientras escribes y se puede copiar directamente.
Base64 representa datos binarios usando solo 64 caracteres seguros: letras mayúsculas, minúsculas, dígitos, más el + y el /. El signo igual al final es relleno, para completar el último bloque.
Su finalidad es atravesar canales que solo aceptan texto: el cuerpo de un correo, un campo JSON, un atributo HTML, una URL de datos en CSS. Sin esa conversión, los bytes arbitrarios corromperían el mensaje.
La cuenta es simple: cada 3 bytes se convierten en 4 caracteres. Por eso el resultado siempre es cerca de un 33% mayor que la entrada. Incrustar una imagen grande como data URI hace crecer la página en esa misma proporción.
La función btoa nativa del navegador solo acepta caracteres de un byte y falla con cualquier texto que lleve acento, cedilla o emoji.
Esta herramienta lo resuelve convirtiendo el texto a UTF-8 con TextEncoder antes de codificar, y deshaciendo el camino con TextDecoder al decodificar. Así "acción" y "日本語" funcionan sin error.
Si tu código se rompe con btoa en texto acentuado, ese es exactamente el paso que falta.
Codificar no es cifrar. Cualquiera decodifica un Base64 en un segundo, sin clave y sin esfuerzo.
Guardar una contraseña, un token o un dato personal en Base64 creyendo que está protegido es un error común y peligroso. Proteger exige cifrado de verdad.
El texto que pegas no sale de tu navegador: la conversión es local y no se registra nada.
Preguntas frecuentes
No. Es solo una forma de representar datos con caracteres seguros. La conversión es pública y reversible por cualquiera, sin clave.
Porque la función btoa del navegador solo maneja caracteres de un byte. Hay que convertir a UTF-8 antes, algo que esta herramienta hace automáticamente.
Son relleno. Base64 procesa la entrada en bloques de 3 bytes; cuando el último bloque queda incompleto, uno o dos signos igual completan la salida.
Es una variante que cambia + por - y / por _, porque esos dos caracteres tienen significado especial en las URLs. Es la codificación que se usa en los JWT.
Para iconos pequeños, sí: elimina una petición. Para imágenes grandes, no, porque el archivo crece un tercio, no se cachea por separado y retrasa el renderizado.