Codificador y decodificador Base64
Codifica texto a Base64 o vuelve a convertir Base64 en texto: compatible con Unicode y con errores claros si falla la decodificación. Todo en tu navegador.
Esta página se tradujo del inglés con ayuda de IA y se cotejó con el original. Leer la versión en inglés
- Gratis — No requiere registro
- Instantáneo — Los resultados se actualizan mientras escribes
- Privado — Procesado en tu navegador
Base64 convierte cualquier secuencia de bytes en texto formado por 64 caracteres seguros, de modo que los datos binarios o no ASCII puedan viajar por sistemas que solo entienden ASCII plano: cuerpos de correo electrónico, cadenas JSON, cabeceras HTTP, archivos de configuración. Esta herramienta codifica y decodifica texto en ambos sentidos, y lo hace correctamente con cualquier carácter Unicode, algo que las funciones nativas btoa y atob del navegador no consiguen.
Cómo funciona
En el modo Codificar, tu texto se convierte primero en bytes UTF-8 con TextEncoder y luego esos bytes se codifican en Base64 en bloques de 32 KB, para que las entradas muy largas no desborden la pila de llamadas. La salida usa el alfabeto estándar (A–Z, a–z, 0–9, +, /) con relleno =, tal como lo define la sección 4 de la RFC 4648.
En el modo Decodificar, el Base64 se vuelve a convertir en bytes con atob y después se decodifica como UTF-8 en modo estricto. Pueden aparecer dos errores distintos:
- Esto no parece Base64 válido significa que la entrada contiene caracteres fuera del alfabeto o que su longitud es imposible. Los espacios y los saltos de línea se toleran, y la falta de relleno se perdona, pero la variante URL-safe con
-y_no: sustituye primero esos caracteres por+y/. - Los datos decodificados no son texto UTF-8 válido significa que el Base64 era correcto, pero los bytes no son texto. Es lo que verás al decodificar una imagen, un certificado en formato DER o un blob comprimido. La herramienta trabaja solo con texto a propósito: no te ofrecerá una representación corrupta de datos binarios.
Todo se ejecuta en local y el resultado se actualiza con cada pulsación de tecla.
Lo que Base64 es y lo que no es
Base64 es una codificación, no un cifrado. Cualquiera puede revertirla en una fracción de segundo, y tampoco ofrece ninguna protección de integridad. Si te encuentras credenciales «protegidas» con Base64, trátalas como texto plano. La cabecera de autenticación HTTP Basic es el ejemplo clásico: Basic dXNlcjpwYXNz es simplemente user:pass.
Tampoco es compacto. Cada 3 bytes se convierten en 4 caracteres, así que la salida ocupa aproximadamente un 33 % más que la entrada, sin contar el relleno. Incrustar archivos grandes en JSON o HTML de esta forma consume ancho de banda; para cualquier cosa por encima de unos pocos kilobytes, es preferible una petición binaria aparte.
El relleno = no contiene datos. Algunas implementaciones lo omiten, y la RFC 7515 (JSON Web Signatures) exige omitirlo en la forma URL-safe que usan los JWT. Por eso un segmento de un JWT pegado aquí necesita un pequeño retoque antes de poder decodificarse; el decodificador de JWT se encarga de esa variante por ti.
Equivalente en línea de comandos
Las mismas operaciones en Linux y macOS, con -n para que echo no añada un salto de línea que acabaría dentro de la codificación:
echo -n 'héllo wörld' | base64 # aMOpbGxvIHfDtnJsZA==
echo 'aMOpbGxvIHfDtnJsZA==' | base64 -d # héllo wörld
En versiones antiguas, la utilidad base64 de macOS usa -D para decodificar; --decode funciona en ambos sistemas.
Para saber más
Base64 aparece allí donde un protocolo tiene que transportar bytes dentro de texto. La guía de diseño de APIs REST explica cuándo conviene incrustar datos binarios en un cuerpo JSON y cuándo enlazarlos, y la guía de OAuth 2.0 repasa la cabecera del flujo client credentials y la codificación URL-safe que usan los tokens. Para la codificación porcentual, el otro esquema que hace que un texto sea seguro en una URL, consulta el codificador de URL.
Preguntas frecuentes
- ¿Esto maneja correctamente emojis y texto en otros idiomas?
- Sí. El texto se convierte a bytes UTF-8 antes de codificarlo en Base64 (y se decodifica de la misma forma), así que los caracteres acentuados, los emojis y las escrituras no latinas se conservan correctamente — a diferencia de un simple btoa/atob, que falla con cualquier carácter fuera del rango Latin-1.
- ¿Por qué la decodificación dice que mi entrada no es válida?
- Base64 usa un alfabeto específico de 64 caracteres más el relleno =. Si la entrada contiene otros caracteres, tiene una longitud incorrecta, o se decodifica en una secuencia de bytes que no es texto UTF-8 válido, verás un error concreto que explica cuál de esos problemas ocurrió.
- ¿Mis datos se suben a un servidor?
- No. La codificación y la decodificación ocurren totalmente en tu navegador.