Convierte texto a Base64 y vuelve a decodificarlo a texto legible de forma instantánea y bidireccional, con soporte completo para caracteres UTF-8. Resulta ideal para trabajar con data URIs, tokens de API o para depurar. Todo el proceso ocurre en tu navegador, así que tus datos nunca se suben a ningún servidor y mantienes el control absoluto.
Cómo codificar y decodificar Base64
- 1 Pega o escribe tu texto o tu cadena Base64 en el cuadro.
- 2 Elige el modo codificar para pasar texto a Base64.
- 3 Elige el modo decodificar para recuperar el texto original.
- 4 Copia el resultado generado con un solo clic.
Cómo funciona la codificación
Base64 reescribe bytes arbitrarios usando solo 64 caracteres que sobreviven a cualquier canal de texto: A–Z, a–z, 0–9, más y barra. Trabaja en bloques de tres bytes. Tres bytes son 24 bits; esos 24 bits se recortan en cuatro grupos de seis, y cada grupo de seis bits indexa el alfabeto de 64 caracteres. Cuando la entrada no es múltiplo de tres, el último bloque se rellena y el resultado lleva uno o dos signos «=» para registrar cuánto relleno se añadió. Por eso la salida Base64 siempre ocupa un 33% más que la entrada: cuatro caracteres de salida por cada tres bytes de entrada.
El codificador de aquí hace algo que muchos codificadores de navegador hacen mal. La función btoa integrada solo acepta caracteres en el rango 0–255, así que llamarla directamente sobre un texto con «é», «ñ» o un emoji lanza una excepción. Esta herramienta pasa primero tu texto por TextEncoder, que produce bytes UTF-8 reales, y solo después llama a btoa sobre esos bytes. La decodificación lo invierte: atob recupera los bytes y TextDecoder los devuelve a texto. El resultado práctico es que cualquier idioma y cualquier emoji van y vuelven correctamente.
Base64 es una codificación, no un cifrado. Cualquiera que vea la salida la puede decodificar en un paso, y ese es justo el sentido: existe para mover datos binarios por canales que esperan texto. Trata una cadena Base64 con exactamente la misma sensibilidad que los datos que contiene.
Dónde aparece Base64
Data URIs en CSS y HTML
Un icono pequeño codificado como data URI ahorra una petición HTTP. Compensa por debajo de unos 2–4 KB; por encima, el 33% extra de tamaño y la pérdida de caché independiente pesan más que el viaje ahorrado.
Decodificar un JWT
Los dos primeros segmentos de un JSON Web Token son JSON codificado en Base64url. Pega un segmento aquí para leer los claims: útil al depurar un flujo de autenticación cuando necesitas ver qué afirma realmente el token.
Adjuntos de correo y MIME
SMTP se diseñó para texto de 7 bits, así que cada adjunto que has enviado viajó como Base64. Cuando depuras el código fuente de un correo, esta es la herramienta que convierte el muro de caracteres en algo legible.
Ficheros de configuración y secretos
Los secretos de Kubernetes, los valores .env y los bloques de certificado se guardan habitualmente en Base64. Decodificarlos en local importa: pegar un secreto de producción en una herramienta con servidor sería entregárselo a un tercero.
Qué es Base64 y para qué se utiliza
Base64 es un esquema de codificación que representa datos binarios usando un conjunto de 64 caracteres ASCII imprimibles. Se emplea a diario en desarrollo web para incrustar imágenes o fuentes como data URIs, para transportar tokens de autenticación y credenciales en cabeceras HTTP, o para enviar adjuntos en correos electrónicos. Este codificador y decodificador Base64 es totalmente bidireccional y compatible con UTF-8, por lo que maneja acentos, emojis y caracteres especiales sin corromper el contenido. Al ejecutarse íntegramente del lado del cliente, es perfecto para depurar respuestas de API o inspeccionar payloads sensibles sin exponer tu información en servidores externos, manteniendo la velocidad y la privacidad.
Cosas que conviene saber
Base64 tiene unas cuantas aristas que pillan a mucha gente:
- Esta herramienta usa Base64 estándar, con «+» y «/». Base64url —el de los JWT y el de las URLs— usa «-» y «_» en su lugar. Cambia esos caracteres antes de decodificar el segmento de un token o la decodificación fallará.
- A los segmentos de JWT se les suele quitar el relleno. Si falla una decodificación, prueba a añadir uno o dos «=» hasta que la longitud sea múltiplo de cuatro.
- La salida codificada ocupa un 33% más que la entrada. Para cualquier cosa de más de unos pocos kilobytes en una página web, una referencia normal a un archivo gana a un data URI.
- No aporta seguridad alguna. Base64 es reversible de forma trivial y nunca debería describirse como «codificado por seguridad».
- Los espacios y saltos de línea dentro de una cadena Base64 se toleran al decodificar, pero un carácter suelto de un copiado defectuoso no: eso da un error de entrada inválida en lugar de una salida parcial.
Resolución de problemas
- «Entrada Base64 no válida»
- Tres causas habituales: la cadena es Base64url y lleva «-» o «_»; se le quitó el relleno y la longitud no es múltiplo de cuatro; o el copiado arrastró un carácter extraño o cortó el final. Corrige el alfabeto, añade «=» hasta que la longitud divida entre cuatro y vuelve a copiar la cadena completa.
- Mi texto con acentos volvió como caracteres raros
- Eso ocurre cuando la cadena la produjo un codificador que llamó a btoa sobre texto en bruto en vez de sobre bytes UTF-8. Los datos originales ya se estropearon al codificar; no hay nada en el lado de la decodificación que pueda recuperarlos. Vuelve a codificar el origen con un codificador que entienda UTF-8.
- Decodifiqué una imagen y salieron caracteres ilegibles
- Es lo esperable: decodificaste datos binarios en una caja de texto. Para usar una imagen codificada, ponla en un atributo <img src="data:image/png;base64,…"> en vez de intentar leer los bytes decodificados como texto.
Preguntas frecuentes
¿Mis datos se envían a algún servidor al codificar?
No. La codificación y decodificación se realizan localmente en tu navegador. Puedes procesar tokens, credenciales o datos sensibles con seguridad, porque nada de lo que escribes abandona tu dispositivo.
¿Admite acentos y caracteres especiales UTF-8?
Sí. La herramienta gestiona correctamente UTF-8, por lo que acentos, eñes, emojis y símbolos se codifican y decodifican sin errores ni caracteres corruptos, algo que muchos conversores básicos no logran manejar.
¿Base64 sirve para cifrar información?
No. Base64 es solo una codificación reversible, no un cifrado. Cualquiera puede decodificarla fácilmente, así que nunca la uses para proteger contraseñas ni datos confidenciales; para eso necesitas cifrado real.
¿Base64 es una forma de cifrado?
No, y tratarlo como tal es un error de seguridad real que aparece en filtraciones auténticas. No hay clave ni secreto: la transformación es pública y cualquiera la revierte en un solo paso. Si unos datos necesitan protección, necesitan cifrado; Base64 solo cambia el alfabeto en el que están escritos.
¿Por qué mi cadena codificada acaba en «=» o «==»?
Porque la longitud de la entrada no era múltiplo de tres. Base64 procesa tres bytes cada vez; un byte sobrante produce «==» y dos bytes sobrantes producen «=». El relleno le dice al decodificador cuántos bytes descartar al final.
¿Puedo codificar un archivo en lugar de texto?
Esta herramienta acepta texto. Para un archivo, la vía práctica depende de tu sistema: base64 en macOS y Linux, o certutil -encode en Windows. Si el archivo es una imagen destinada a un data URI, casi cualquier herramienta de compilación te la incrusta automáticamente.
¿Es seguro decodificar aquí un secreto de producción?
Sí, y es justo la razón para usar una herramienta de cliente. La decodificación ocurre en tu propia pestaña sin ninguna petición de red; el valor no se transmite a ningún sitio. Pegar ese mismo secreto en un conversor con servidor sí lo enviaría a la máquina de otra persona.