Codificar y decodificar Base64
Codifica texto o un archivo a Base64 o decódifícalo, con alfabeto seguro para URL, Data URI y saltos de línea MIME gestionados.
Suelta tus archivos aquí
.txt, .b64, .base64 · hasta 150 MB
Cómo codificar y decodificar Base64
- 1
Elige codificar o decodificar
La misma pantalla sirve para las dos cosas. La dirección se elige primero para que nada se codifique dos veces por accidente.
- 2
Pega texto o suelta un archivo
Cualquier tipo de archivo se puede codificar. Al decodificar se acepta una cadena pegada, un Data URI o un archivo de texto que la contenga.
- 3
Copia el resultado o descárgalo
La salida decodificada se detecta como texto o binario de forma automática y se nombra con la extensión correcta.
Para qué sirve Base64 y para qué no sirve
Base64 existe porque algunos canales solo admiten texto imprimible: cuerpos de correo electrónico, campos de cadena en JSON, atributos HTML, cabeceras HTTP. Asigna cada tres bytes a cuatro caracteres de un alfabeto de 64 caracteres, por eso la salida siempre es aproximadamente un tercio más grande que la entrada. Es una codificación, no un cifrado: cualquiera puede decodificarla sin clave y el alfabeto es público. Si el contenido es secreto, Base64 no lo protege en absoluto. Un token pegado en un campo Base64 queda igual de expuesto después de codificarlo que antes.
Data URI y alfabeto seguro para URL
Un Data URI envuelve los bytes codificados en un prefijo que indica su tipo de contenido, de modo que data:image/png;base64,… se puede usar directamente como origen de imagen o como fondo en CSS. Al codificar un archivo, el tipo de contenido sale del propio archivo; al codificar texto pegado, lo indicas tú. El alfabeto seguro para URL sustituye + y / por - y _ y elimina el relleno final, porque esos tres caracteres tienen significado propio dentro de una URL o un nombre de archivo. Al decodificar se acepta cualquier alfabeto sin indicarlo y se ignoran por completo los saltos de línea, así que las cadenas con envoltura MIME o PEM se pegan tal cual.
Errores precisos en lugar de resultados sin sentido
Una cadena Base64 que contiene un carácter fuera del alfabeto o cuya longitud deja un resto de uno al dividirla entre cuatro no se puede decodificar a nada útil. En lugar de devolver bytes truncados, se informa de la posición del carácter problemático para poder localizarlo dentro de una cadena larga. Un caso real y confuso es un Data URI codificado con porcentajes en vez de Base64, porque ambos empiezan por data:. Esa cadena se detecta y se indica que la pases por el decodificador de URL en lugar de leerla como Base64 y producir basura.
Codificación en tu navegador, no en un servidor
La conversión se ejecuta íntegramente en esta pestaña usando las funciones del propio navegador, por bloques para que un archivo grande no agote la memoria. Nada se sube, lo cual importa porque las cargas Base64 suelen contener certificados, claves y documentos privados.
Preguntas frecuentes
¿Base64 es una forma de cifrado?
No. Es una codificación reversible con un alfabeto público y sin clave. Cualquiera que tenga la cadena puede recuperar los bytes originales, así que no protege nada, solo hace que los datos binarios se puedan enviar por canales de solo texto.
¿Qué es un Data URI?
Es una cadena que lleva el tipo de contenido de un archivo y su contenido en Base64 juntos, por ejemplo data:image/png;base64,iVBOR… Se puede usar directamente como origen de imagen o fondo en CSS y evita una petición de red separada para un recurso pequeño.
¿Para qué necesito el alfabeto seguro para URL?
Porque + y / tienen significado dentro de las URL y los nombres de archivo, y = tiene su propio papel en las cadenas de consulta. La variante segura para URL usa - y _ en su lugar y omite el relleno, que es lo que esperan los JWT y muchas API.
¿Por qué el resultado es un tercio más largo que la entrada?
Tres bytes se convierten en cuatro caracteres por diseño, así que la salida tiene un tamaño de 4/3 antes de cualquier salto de línea. Ese sobrecoste es el precio de usar solo caracteres imprimibles.
¿Cómo decodifico a un archivo y no a texto?
El modo automático ya lo hace: si los bytes decodificados no son texto UTF-8 válido, obtienes un archivo. También puedes forzar la ruta de archivo y fijar el nombre, y la extensión se corrige a partir del tipo de contenido cuando un Data URI lo indica.
¿Por qué aparece un error de carácter no válido?
Porque la cadena contiene algo fuera del alfabeto Base64, a menudo una comilla suelta o una entidad HTML copiada sin querer, o porque está truncada. La posición que se muestra apunta exactamente al carácter que hay que revisar.
¿Mi archivo se sube a algún sitio?
No. La codificación y la decodificación se ejecutan localmente en tu navegador con funciones integradas, sin biblioteca externa y sin servidor, y nada se conserva después de cerrar la pestaña.