WikiPlus

Codificar y decodificar Base64 online gratis

Base64 es un esquema de codificación que convierte datos binarios arbitrarios en cadenas de texto ASCII imprimible, lo que permite que archivos binarios como imágenes, PDFs y certificados viajen de forma segura a través de canales que solo admiten texto. El Codificador Base64 de WikiPlus codifica texto plano y archivos a Base64 o decodifica cadenas Base64 de vuelta a su contenido original, directamente en el navegador sin subir ningún dato a servidores externos.

Para qué se usa Base64 en la práctica

Base64 tiene usos muy específicos en el desarrollo de software moderno. Los adjuntos de email usan Base64 por el estándar MIME para transportar archivos binarios junto al texto del email. Las imágenes pequeñas o fuentes en CSS y HTML se pueden embeber directamente como URLs de datos ('data:image/png;base64,iVBOR...'). Los tokens JWT (JSON Web Tokens) codifican su header y payload en Base64url. Los headers HTTP de autenticación Basic codifican 'usuario:contraseña' en Base64. Las variables de entorno que almacenan certificados o claves privadas las transmiten como cadenas Base64 para evitar problemas con caracteres especiales y saltos de línea.

Cómo funciona la codificación Base64

Base64 divide los datos de entrada en grupos de 3 bytes (24 bits) y convierte cada grupo en 4 caracteres del alfabeto Base64, que consiste en las 26 letras mayúsculas, las 26 minúsculas, los 10 dígitos y los caracteres '+' y '/'. Esto da exactamente 64 símbolos, de ahí el nombre. Cuando la entrada no es múltiplo de 3 bytes, se añaden uno o dos caracteres '=' de relleno al final. El resultado siempre tiene una longitud múltiplo de 4 caracteres. La codificación aumenta el tamaño de los datos aproximadamente un 33%: cada 3 bytes originales se convierten en 4 caracteres ASCII.

Base64 no es cifrado: un error crítico a evitar

Base64 es absolutamente reversible sin ninguna clave secreta. Cualquier persona que tenga una cadena Base64 puede decodificarla en segundos usando esta herramienta o cualquier decodificador. No hay ninguna dificultad computacional, ningún secreto y ninguna garantía de seguridad. Nunca debes usar Base64 para 'ocultar' contraseñas, datos sensibles o información privada. Almacenar una contraseña como Base64 es prácticamente igual de inseguro que almacenarla en texto plano. Para contraseñas, usa bcrypt, scrypt o Argon2. Para datos que deben ser cifrados, usa AES-256-GCM u otro cifrado simétrico autenticado.

Base64 estándar vs. Base64url: la diferencia que importa en JWTs

Base64 estándar usa '+' y '/' como caracteres especiales, que no son seguros en URLs porque tienen significados especiales en HTTP. Base64url es una variante que sustituye '+' por '-' y '/' por '_', y omite los caracteres de relleno '='. Esta variante se usa en URLs, cookies y, más notablemente, en los tokens JWT. Si pegas la parte del payload de un JWT (el fragmento entre el primer y segundo punto) en un decodificador Base64 estándar y obtienes un resultado incorrecto, es porque el JWT usa Base64url. El codificador de WikiPlus soporta ambas variantes.

Preguntas frecuentes

¿Cómo sé si una cadena está codificada en Base64?
Los indicadores visuales de Base64 son: longitud múltiplo de 4, uso del alfabeto A-Z a-z 0-9 +/=, y frecuentemente termina en uno o dos signos '='. La densidad de caracteres 'extraños' en comparación con texto normal también es indicativa. Pegar la cadena en el decodificador lo confirma instantáneamente: si el resultado es texto o datos reconocibles, era Base64; si es basura aleatoria, probablemente no lo era.
¿Por qué mi archivo decodificado aparece corrupto?
Las causas más frecuentes son: saltos de línea en la cadena Base64 (algunos encoders los insertan cada 76 caracteres y deben eliminarse), caracteres de espacios o tabulaciones accidentales, confusión entre Base64 estándar y Base64url (sustituir - por + y _ por / antes de decodificar), cadena truncada (la longitud debe ser múltiplo de 4 con relleno). La herramienta de WikiPlus elimina automáticamente los espacios en blanco antes de decodificar para evitar los errores más comunes.
¿Se sube mi archivo cuando lo arrastro a la herramienta?
No. El archivo se lee directamente en el navegador usando la API FileReader de JavaScript. Los bytes del archivo se procesan localmente en memoria sin transmitirse a ningún servidor. Puedes verificar esto con las DevTools del navegador: la pestaña Red no mostrará ninguna petición de subida cuando arrastres un archivo.