Codificador y decodificador Base64
Convierte texto y archivos a Base64 y viceversa. Maneja Unicode correctamente, admite base64url (apto para URL) y te dice exactamente por qué falla una entrada no válida.
Funciona en tu navegadorSin registroNo se sube nada
Cómo usar: Codificar / decodificar Base64
- Elige Codificar o Decodificar.
- Escribe o pega tu entrada. El resultado se actualiza mientras escribes.
- Para URLs, JWTs y nombres de archivo, marca Apto para URL para usar
-y_y, si quieres, omitir el relleno=. - Para incrustar una imagen o fuente, haz clic en Codificar archivo y deja marcada la opción Salida como data URI.
- Copia el resultado o usa Intercambiar para procesarlo en la dirección contraria.
Cómo funciona Base64
Base64 representa datos binarios con 64 caracteres ASCII imprimibles: A-Z, a-z, 0-9, + y /. Cada 3 bytes de entrada se convierten en 4 caracteres, por lo que los datos codificados ocupan aproximadamente un 33 % más. Cuando la longitud de la entrada no es múltiplo de 3, uno o dos signos = rellenan la salida. Base64 es una codificación, no un cifrado: cualquiera puede decodificarlo.
Base64 estándar frente a base64url
Los caracteres + y / tienen un significado especial en las URLs y en las rutas de archivo. El alfabeto apto para URL de RFC 4648 §5 los sustituye por - y _ y normalmente omite el relleno. Los JWT, muchos parámetros de OAuth y algunas APIs en la nube usan base64url. El decodificador acepta ambos alfabetos automáticamente.
Unicode y la trampa de btoa()
En los navegadores, btoa("café") funciona, pero btoa("日本") lanza un error, porque btoa solo acepta Latin-1. Lo correcto es convertir primero el texto a bytes UTF-8, que es lo que hace esta herramienta. En JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), o Buffer.from(text).toString('base64') en Node.js.
Usos habituales
- Data URIs para imágenes y fuentes pequeñas en CSS o HTML
- Cabeceras de autenticación HTTP Basic (
user:passwordcodificado) - Adjuntos binarios en payloads JSON y correo electrónico (MIME)
- Secrets de Kubernetes, que guardan los valores en Base64