Codificador/Decodificador Base64
Codifica texto a Base64 o decodifica Base64 a texto
Leer la guía completaArrastra y suelta archivos aquí, o haz clic para seleccionar
Máximo 1 archivos, 50MB cada uno
Base64 es un esquema de codificación binario a texto que representa datos binarios usando 64 caracteres ASCII imprimibles (A-Z, a-z, 0-9, +, /). Fue estandarizado en RFC 4648 (2006) y es fundamental para la transmisión de datos en internet. El nombre 'Base64' proviene del uso de 64 caracteres como base numérica. Cada 3 bytes de datos binarios se convierten en 4 caracteres Base64 (incremento del 33% en tamaño). La codificación funciona dividiendo datos en grupos de 6 bits (2^6 = 64 valores posibles). El padding '=' se agrega cuando los datos no son múltiplo de 3 bytes. Base64 es ubicuo en desarrollo web: data URIs (imágenes incrustadas en HTML/CSS), tokens JWT (JSON Web Tokens para autenticación), Basic Auth HTTP (usuario:contraseña codificado), adjuntos de email (MIME), y APIs REST que transmiten binarios en JSON. En LATAM, es esencial para integraciones con APIs de Mercado Pago, CFDI/facturación electrónica en México (SAT), facturación DIAN en Colombia, y servicios cloud. Los desarrolladores lo usan diariamente para debugging, testing de APIs y manejo de archivos.
Convierte imágenes pequeñas (iconos, logos < 10KB) a Base64 para incrustarlas directamente en HTML/CSS, eliminando solicitudes HTTP adicionales y mejorando rendimiento. Sintaxis: <img src='data:image/png;base64,iVBORw0KGgo...'> o background-image: url('data:image/svg+xml;base64,...'). Ideal para iconos SVG, favicons y sprites. No recomendado para imágenes grandes (aumenta tamaño HTML y no se cachea). En LATAM, popular para optimizar sitios de e-commerce en Mercado Libre, Tiendanube, WooCommerce México.
HTTP Basic Authentication codifica credenciales en Base64: 'usuario:contraseña' → 'dXN1YXJpbzpjb250cmFzZcOxYQ=='. El header Authorization: Basic dXN1YXJpbzpjb250cmFzZcOxYQ== se envía con cada solicitud. IMPORTANTE: Base64 NO es encriptación—es codificación reversible. Siempre usa HTTPS para transmitir credenciales. APIs de Mercado Pago, Stripe México, PayU Colombia, dLocal Argentina usan Basic Auth para autenticación de clientes.
JSON no soporta datos binarios nativamente. Para enviar archivos (imágenes, PDFs, documentos) vía API REST, se codifican en Base64 y se incluyen como string en el JSON: {"archivo": "JVBERi0xLjQK...", "nombre": "factura.pdf"}. APIs de facturación electrónica en México (SAT CFDI), Colombia (DIAN), Argentina (AFIP) requieren XMLs y PDFs codificados en Base64. También usado en integraciones con Salesforce, HubSpot, Zoho CRM populares en empresas LATAM.
JSON Web Tokens (JWT) usan Base64URL (variante sin +, /, =) para codificar header, payload y firma: eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoianVhbiJ9.firma. JWTs son estándar para autenticación en aplicaciones web modernas. Decodificar JWTs ayuda a debuggear problemas de autenticación—puedes ver claims (usuario, roles, expiración) sin la clave secreta. Frameworks populares en LATAM (Laravel, Django, Express, Spring Boot) generan JWTs automáticamente.
Bases de datos relacionales (MySQL, PostgreSQL, SQL Server) manejan mejor texto que binarios. Codificar archivos pequeños en Base64 permite almacenarlos en columnas VARCHAR/TEXT sin problemas de encoding. Útil para firmas digitales, sellos, pequeñas imágenes de perfil. MongoDB y Firebase también usan Base64 para documentos binarios. En LATAM, común en sistemas legacy de bancos, gobierno y empresas que no usan almacenamiento de objetos (S3, Azure Blob).
La codificación Base64 convierte datos binarios en texto usando un alfabeto de 64 caracteres. Proceso: 1) Los datos de entrada se dividen en grupos de 3 bytes (24 bits). 2) Cada grupo de 24 bits se divide en 4 grupos de 6 bits. 3) Cada grupo de 6 bits (valores 0-63) se mapea a un carácter del alfabeto Base64: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63). 4) Si los datos no son múltiplo de 3 bytes, se agregan caracteres '=' de padding (1 o 2). Ejemplo: 'Hola' en UTF-8 = 48 6F 6C 61 (hex) → 01001000 01101111 01101100 01100001 (binario) → se divide en grupos de 6 bits → 010010 000110 111101 101100 011000 01 (+padding) → índices 18, 6, 61, 44, 24, 16 → 'SG9sYQ==' (4 bytes padding porque 'Hola' tiene 4 bytes, no múltiplo de 3). La decodificación es el proceso inverso. Nuestra herramienta usa btoa()/atob() de JavaScript para texto ASCII y TextEncoder/TextDecoder para UTF-8 completo, garantizando compatibilidad con español (ñ, acentos) y emojis.
Base64 es universalmente soportado. Navegadores: btoa() y atob() desde IE10 (2012), Chrome 1, Firefox 1, Safari 1. Node.js: Buffer.from(str, 'base64') y buffer.toString('base64'). Python: base64.b64encode()/b64decode(). PHP: base64_encode()/base64_decode(). Java: Base64.getEncoder()/getDecoder() (Java 8+). LIMITACIONES: btoa()/atob() nativos solo manejan caracteres Latin-1 (0-255). Para UTF-8 completo (español con ñ, emojis), se requiere TextEncoder: btoa(String.fromCharCode(...new TextEncoder().encode(texto))). Nuestra herramienta maneja esto automáticamente. Base64 aumenta tamaño 33%—no usar para archivos grandes en producción (usar multipart/form-data o presigned URLs de S3). En LATAM, donde conexiones móviles pueden ser lentas, evitar Base64 para imágenes > 10KB.