Codificador y decodificador Base64
Se ejecuta en tu navegador; no se sube nada
Codifica texto o archivos en Base64, o decodifica Base64 a texto, bytes o una imagen. Si la entrada no es válida, señala el carácter.
Text
Base64
Base64 appears here as you type.
¿Qué es Base64?
Base64 es una forma de escribir cualquier secuencia de bytes usando solo 64 caracteres seguros: A–Z, a–z, 0–9, + y /, con = como relleno al final. Cada 3 bytes de entrada se convierten en 4 caracteres de salida, así que los datos codificados ocupan aproximadamente un tercio más que el original.
Existe porque muchos sistemas solo manejan texto de forma fiable. Base64 te permite meter datos binarios, como una imagen, un archivo o una clave criptográfica, dentro de JSON, un email, una URL o una cabecera HTTP sin que se estropeen por el camino.
Hay dos alfabetos. El estándar (RFC 4648) usa + y /. El seguro para URLs usa - y _ en su lugar, porque + y / significan algo en una URL, y normalmente omite el relleno =; es el que usan los JWT. El email (MIME) corta el Base64 estándar en líneas de 76 caracteres.
En el trabajo con APIs aparece constantemente. La autenticación HTTP Basic envía username:password codificado en Base64 en la cabecera Authorization, las partes de un JWT son Base64 seguro para URLs, y muchas APIs devuelven archivos o miniaturas como cadenas Base64 o URLs data: dentro del JSON. Base64 es una codificación, no un cifrado: cualquiera puede decodificarlo.
Cómo usar esta herramienta
- 1Elige Encode o Decode. Al cambiar se conserva lo que escribiste; Swap (Alt+Shift+S) pasa la salida a la entrada y cambia el modo.
- 2Para codificar, escribe texto (se codifica como UTF-8), o arrastra o abre un archivo para codificar sus bytes tal cual. URL-safe, Wrap at 76 y data: URL cambian la forma del resultado.
- 3Para decodificar, pega Base64, Base64 MIME cortado en líneas o una URL
data:completa. El alfabeto y el relleno que falte se detectan solos, y la barra de estado indica qué forma era. - 4Si la entrada no es Base64 válido, el carácter queda marcado en el editor y F8 te lleva hasta él. El mensaje explica qué falla, por ejemplo un carácter fuera del alfabeto o una cantidad de relleno incorrecta.
- 5El texto decodificado se muestra como texto. Los bytes que no son texto UTF-8 aparecen como volcado hexadecimal, las imágenes como vista previa, y Download (Ctrl+S) guarda los bytes como archivo con la extensión correcta.
Solución de problemas
.no es un carácter Base64- Probablemente la entrada es un JWT, cuyas tres partes van separadas por puntos. Decodifica las partes de una en una, o pega el token en el decodificador de JWT.
%no es un carácter Base64- El Base64 se codificó con porcentajes para una URL (
+se convirtió en%2By=en%3D). Decodifícalo primero con el decodificador de URL. - Falta o sobra un carácter
- Base64 va en grupos de cuatro caracteres, y esta cadena termina con un grupo de uno. Casi seguro que se cortó al copiarla.
- Los bytes decodificados no son texto UTF-8
- Los datos son binarios (una imagen, un zip, una clave) o texto en otra codificación, como Latin-1. Mira la vista Hex o descarga los bytes en lugar de copiarlos como texto.
- El resultado tiene un
�donde debería haber un emoji - El texto que codificaste contenía medio emoji, normalmente por cortar una cadena justo en medio de uno. La barra de estado señala el carácter; esa mitad no se puede codificar, así que se convierte en U+FFFD.
Preguntas frecuentes
¿Se envían mis datos a un servidor?
No. La codificación, la decodificación y las vistas previas de imágenes se hacen en tu navegador, y los archivos que abres se leen en local. El texto que pegas se guarda en el almacenamiento de sesión de esta pestaña hasta que lo borras o cierras la pestaña, así que no se pierde al recargar, y Copy link lo pone en el enlace después de #, una parte que los navegadores nunca envían a un servidor. Las opciones que eliges, como URL-safe, se recuerdan en este navegador.
¿Por qué algunas cadenas codificadas son más largas que otras con el mismo número de caracteres?
Base64 codifica bytes, no caracteres. En UTF-8 una letra inglesa ocupa 1 byte, una letra con tilde 2 bytes y muchos caracteres asiáticos 3 bytes, así que el texto en esos alfabetos produce un Base64 más largo.
¿Cómo decodifico una cabecera de autenticación Basic?
Toma la parte que va después de Basic en la cabecera Authorization y decodifícala aquí. El resultado es el usuario y la contraseña separados por dos puntos.
¿Necesito el relleno `=`?
La mayoría de los decodificadores, este incluido, aceptan Base64 sin relleno, y el Base64 seguro para URLs suele omitirlo. Algunos decodificadores estrictos lo exigen; el Base64 estándar lo añade para que la longitud sea múltiplo de cuatro.