¿Qué es esta herramienta?
Base64 es un esquema de codificación que convierte datos binarios o de texto en un conjunto de 64 caracteres ASCII seguros (A–Z, a–z, 0–9, + y /). Se utiliza en todo tipo de aplicaciones informáticas: para incrustar imágenes en HTML/CSS, en los encabezados de autenticación básica HTTP, en archivos adjuntos de correo electrónico (MIME), en tokens web JSON y en cargas útiles de API que deben transmitirse a través de canales de solo texto.
Importante: Base64 es una codificación, no un cifrado. Cualquiera puede descodificarlo. Su finalidad es garantizar la seguridad de los datos durante su transmisión a través de sistemas que solo interpretan texto, no mantenerlos en secreto.
¿Por qué utilizarlo?
- Descifra los tokens de la API, los segmentos JWT y los encabezados de autenticación para ver qué contienen.
- Codifica texto para URI de datos, archivos de configuración o encabezados HTTP.
- Compatible con UTF-8: los emojis y los caracteres no latinos se codifican y descodifican correctamente.
- 100 % privado: la conversión se realiza en tu navegador, no se sube nada.
- Gratis, sin necesidad de registrarse y sin límites de tamaño.
Cómo utilizarlo
- Escribe o pega tu contenido en el cuadro de texto.
- Haz clic en «Codificar» para convertir el texto a Base64, o en «Decodificar» para volver a convertir el texto de Base64 a texto.
- Si falla la decodificación, significa que la entrada no es un código Base64 válido; comprueba si faltan caracteres o si hay espacios en blanco de más.
- Haz clic en «Copiar» para copiar el resultado.
Ejemplo
Entrada
Hello, CodeKitHub! 你好 👋Resultado
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLFíjate en cómo los caracteres chinos y los emojis se conservan tras el proceso de ida y vuelta: esa es la parte segura de UTF-8.
Consejos prácticos
- Los tokens JWT constan de tres segmentos en Base64 separados por puntos: descodifica los dos primeros (encabezado y carga útil) por separado para poder leerlos; el tercero es una firma binaria y parecerá un conjunto de caracteres sin sentido.
- Si falla la decodificación de un segmento JWT, se trata de una codificación base64url: primero sustituye - por + y _ por / (las herramientas estándar esperan el alfabeto +/).
- Los espacios en blanco y los saltos de línea dentro de una cadena Base64 suelen ser restos inofensivos procedentes de correos electrónicos o registros, pero la falta del relleno «=» al final a menudo no lo es: comprueba la longitud antes de dar por hecho que los datos están dañados.
- La codificación Base64 aumenta el tamaño de los datos en aproximadamente un 33 %. Esto no supone ningún problema para cargas útiles pequeñas; sin embargo, en el caso de imágenes que superen unos pocos KB, casi siempre es mejor optar por el archivo original que por un URI de datos.
Situaciones de uso reales
Los tres casos por los que la gente acude aquí a diario: leer el contenido de un encabezado «Authorization» o de un JWT; descodificar un campo de la carga útil de un webhook o una API que ha llegado codificado en Base64 (a menudo en formato JSON; hay que darle formato tras la descodificación); y generar manualmente un URI de datos o una cadena de autenticación «Basic-Auth» durante la depuración.
En el caso de los datos binarios (imágenes, archivos), ten en cuenta que, al descodificarlos como texto, obtendrás caracteres ilegibles: los datos pueden ser perfectamente válidos, pero no son texto. La codificación y descodificación de datos binarios debe realizarse en el código; esta herramienta está optimizada para casos de texto.
Cómo diagnosticar un fallo de decodificación
Los errores de decodificación de Base64 casi siempre se deben a una de estas tres causas, por orden de frecuencia: la entrada era en realidad «base64url» (utiliza «-» y «_» en lugar de los caracteres estándar «+» y «/», algo habitual en los JWT y en contextos «URL-safe») y es necesario volver a intercambiar esos caracteres para que la decodificación estándar la acepte; la cadena se ha truncado en algún punto del proceso (un «copiar-pegar» en el que se han perdido los últimos caracteres, o una línea de registro que se ha cortado), lo cual es detectable porque la longitud de una cadena Base64 válida es siempre un múltiplo de 4 una vez tenido en cuenta el relleno; o bien se introdujeron caracteres extraños (espacios en blanco de más, un salto de línea extra, un carácter duplicado accidentalmente) durante la copia, por lo que siempre es más seguro pegar directamente desde una fuente sin procesar en lugar de volver a escribirlo.
→ Formateador JSON · Codificador/decodificador de URL · Decodificador JWT
Preguntas frecuentes
¿El Base64 es un método de cifrado?
No. Base64 es una codificación reversible que cualquiera puede descodificar; no ofrece ninguna seguridad. Si necesitas proteger datos, utiliza un cifrado auténtico (como AES); Base64 solo sirve para garantizar la seguridad de los datos durante su transmisión en formato de texto.
¿Por qué el resultado de la decodificación parece un lío?
O bien la entrada no está realmente en formato Base64, se ha truncado, o bien los datos originales eran binarios (como una imagen) en lugar de texto. Los datos binarios no se muestran como caracteres legibles.
¿Qué significan los signos «=» al final?
Relleno. Base64 funciona en bloques de 3 bytes de entrada → 4 caracteres de salida. Cuando la longitud de la entrada no es divisible por 3, se añaden uno o dos caracteres de relleno al último bloque.
¿Esta herramienta funciona con emojis y caracteres chinos?
Sí. Primero codifica el texto como bytes UTF-8, que es el método estándar. Las herramientas poco sofisticadas que utilizan btoa() directamente fallan con cualquier carácter que no pertenezca al Latin-1; esta, en cambio, no.
¿Se suben mis datos a algún sitio?
No. La codificación y la decodificación se realizan íntegramente en tu navegador mediante JavaScript. Tus datos nunca salen de tu dispositivo.