Codificador y Decodificador Base64
Introducción
El Codificador y Decodificador Base64 es una herramienta gratuita online para convertir texto a Base64 y decodificar Base64 de vuelta a texto. Ambas operaciones ocurren en tiempo real mientras escribe, sin recargar la página ni presionar un botón de envío. La herramienta se ejecuta completamente en su navegador — nada se envía a un servidor.
Dos secciones independientes se encuentran en la misma página: una para codificar, otra para decodificar. Cada una tiene su propia área de texto, zona de carga y botones de acción, para que pueda trabajar en ambas direcciones sin cambiar de modo.
¿Qué es Base64?
Base64 es una forma de representar datos binarios utilizando solo caracteres ASCII imprimibles. No es un esquema de cifrado o compresión — su propósito es hacer que los datos binarios sean seguros para transportar a través de sistemas diseñados para texto.
Cómo funciona la codificación
El alfabeto Base64 utiliza 64 caracteres:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
El proceso de codificación divide la entrada en grupos de 3 bytes (24 bits) y luego divide cada grupo en cuatro valores de 6 bits. Cada valor de 6 bits (0–63) se asigna a un carácter del alfabeto.
Entrada: F o o
Binario: 01000110 01101111 01101111
6 bits: 010001 100110 111101 101111
Decimal: 17 38 61 47
Base64: R b 9 v
"Foo" se codifica como Rm9v.
¿Por qué 64?
Se eligió 64 porque es la mayor potencia de dos que utiliza solo caracteres disponibles en casi todos los conjuntos de caracteres (letras, dígitos y dos signos de puntuación). Esto hace que Base64 sea fiable en sistemas de correo electrónico, cargas JSON, URL y otros canales basados en texto que podrían alterar o rechazar bytes no ASCII.
Cada carácter Base64 transporta 6 bits de información, en comparación con los 8 bits de un byte. Esta relación 6 a 8 explica por qué la salida codificada es aproximadamente un 33 % más grande que la entrada original — un tema que se trata más adelante en detalle.
Cuando la entrada no es un múltiplo de 3 bytes
Si el último grupo tiene menos de 3 bytes, se añade relleno. El codificador agrega caracteres = para hacer que la longitud de salida sea un múltiplo de 4:
- 1 byte restante → 2 caracteres Base64 +
== - 2 bytes restantes → 3 caracteres Base64 +
= - 3 bytes completos → 4 caracteres Base64, sin relleno
Por ejemplo, "Fo" (2 bytes) se codifica como Rm8=.
Una nota sobre lo que Base64 no es
Base64 a menudo se confunde con cifrado porque la salida parece un galimatías. Una decodificación rápida revela el texto original sin necesidad de clave. Si necesita proteger datos, use un algoritmo de cifrado adecuado (AES, ChaCha20, etc.) y luego codifique los bytes cifrados con Base64 para el transporte. Base64 por sí solo no proporciona confidencialidad.
Usos comunes de Base64
Base64 aparece en muchos lugares cotidianos de la web, a menudo sin que los usuarios lo noten.
Data URIs
Los navegadores modernos permiten incrustar imágenes, fuentes y otros medios directamente en HTML o CSS mediante data: URIs:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...">
Los datos de imagen codificados en Base64 viven dentro del archivo HTML mismo — no se necesita una solicitud HTTP separada. Esto es común para iconos pequeños, sprites y fuentes web, donde el round-trip HTTP adicional costaría más que los bytes en línea.
Sin embargo, las Data URIs Base64 no son siempre la mejor opción para activos más grandes. El 33 % de sobrecarga de tamaño significa que un icono de 100 KB se convierte en 133 KB de texto en línea, y el navegador no puede almacenarlo en caché separadamente de la página HTML. La mayoría de los sitios usan Data URIs solo para activos de menos de unos pocos kilobytes.
JWT y Tokens de API
Los JSON Web Tokens utilizan Base64url (la variante segura para URL) para codificar los segmentos de encabezado, carga útil y firma de un token. Si alguna vez ha inspeccionado un JWT como este:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
cada segmento separado por puntos es JSON codificado en Base64url. Puede pegar cualquier segmento en la sección de decodificación de esta herramienta para inspeccionar su contenido.
Archivos Adjuntos de Correo (MIME)
El correo electrónico fue diseñado originalmente para ASCII de 7 bits. Para enviar archivos adjuntos binarios (imágenes, PDF, hojas de cálculo), el estándar MIME los codifica como Base64. Su cliente de correo los decodifica automáticamente cuando abre el mensaje.
Un detalle que a veces causa confusión: MIME Base64 convencionalmente divide las líneas a los 76 caracteres. Si extrae datos Base64 de una fuente de correo electrónico, pueden contener saltos de línea incrustados. El decodificador de esta herramienta maneja los saltos de línea automáticamente — puede pegar Base64 MIME multilínea sin eliminar los saltos de línea primero.
Certificados y Claves PEM
Los certificados SSL/TLS y las claves privadas se distribuyen en formato PEM, que envuelve datos DER codificados en Base64 entre líneas de encabezado y pie:
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
...
-----END CERTIFICATE-----
PEM es esencialmente Base64 con una envoltura etiquetada. Puede decodificar el cuerpo Base64 de un archivo PEM para inspeccionar su contenido DER bruto, aunque el resultado será binario, no texto legible.
Autenticación Básica HTTP
El encabezado de autenticación básica HTTP codifica usuario:contraseña como Base64:
Authorization: Basic YWRtaW46c2VjcmV0
La cadena YWRtaW46c2VjcmV0 es la codificación Base64 de admin:secret. Base64 aquí es un mecanismo de serialización, no de seguridad — las credenciales se decodifican trivialmente para cualquiera que vea el encabezado.
¿Qué es un archivo .b64?
Un archivo .b64 es un archivo de texto plano cuyo contenido completo es una cadena Base64. La extensión .b64 es una convención de nomenclatura que señala "este archivo contiene datos Base64" — a diferencia de texto arbitrario, código fuente o un formato binario.
Puede encontrar archivos .b64 cuando:
- Exporta salidas codificadas de herramientas como esta
- Almacena claves criptográficas o certificados en un formato de texto portátil
- Intercambia datos Base64 entre sistemas que utilizan flujos de trabajo basados en archivos
Debido a que los archivos .b64 son texto plano, puede abrirlos en cualquier editor de texto, inspeccionar el contenido o copiar la cadena a un decodificador. Esta herramienta acepta archivos .b64 tanto en la sección de Codificación como en la de Decodificación mediante arrastrar y soltar o el selector de archivos.
Cómo Funciona
La herramienta utiliza las funciones Base64 nativas del navegador con una capa adicional para seguridad UTF-8.
Conversión Principal
JavaScript proporciona dos funciones nativas para Base64:
btoa(entrada)— convierte una cadena a Base64 (binario a ASCII)atob(entrada)— convierte Base64 de vuelta a una cadena (ASCII a binario)
Estas funciones solo funcionan con caracteres Latin-1 (ISO-8859-1). Si pasa una cadena que contiene caracteres chinos, japoneses, emoji o cualquier carácter fuera del rango Latin-1, btoa() lanza una DOMException.
Codificación Segura UTF-8
Para manejar correctamente todo el texto Unicode, la herramienta envuelve las funciones nativas:
function encode(text, urlSafe, noPad) {
let utf8 = encodeURIComponent(text);
let base64 = btoa(utf8);
if (urlSafe) base64 = base64.replace(/\+/g, '-').replace(/\//g, '_');
if (noPad) base64 = base64.replace(/=+$/, '');
return base64;
}
function decode(base64) {
let restored = base64.replace(/-/g, '+').replace(/_/g, '/');
while (restored.length % 4 !== 0) restored += '=';
let utf8 = atob(restored);
return decodeURIComponent(utf8);
}
encodeURIComponent convierte el texto a formato codificado en porcentaje UTF-8, que contiene solo caracteres ASCII que btoa puede procesar. La ruta de decodificación invierte esto en orden inverso.
Para ver por qué esto es importante, intente codificar el emoji "😊" directamente con btoa — lanza un error. Con la envoltura UTF-8, se convierte en J UmbKSA4bQ, que se decodifica correctamente de vuelta a 😊.
Manejo de Entrada Segura para URL
La función de decodificación siempre realiza dos transformaciones antes de pasar la cadena a atob:
- Reemplazar
-con+y_con/(deshaciendo la codificación segura para URL) - Agregar relleno
=si la longitud de la cadena no es múltiplo de 4
Esto significa que nunca necesita cambiar una opción en el lado de decodificación. Ya sea que su entrada sea Base64 estándar, Base64 seguro para URL, con relleno o sin relleno, el decodificador la maneja automáticamente.
Flujo de Eventos
Cuando escribe o pega en un área de texto, un detector de eventos input se activa. El planificador almacena en búfer las pulsaciones rápidas (con rebote de aproximadamente 16 ms para alinearse con un fotograma) y luego ejecuta la función de codificación o decodificación. El resultado aparece en el área de texto de salida en el siguiente refresco de pantalla.
Base64 Estándar vs. Base64 Seguro para URL
Las dos casillas de verificación en la sección Codificar corresponden a dos variantes bien definidas de Base64.
Base64 Estándar (RFC 4648 §4)
Utiliza el alfabeto completo: A–Z, a–z, 0–9, +, /. Esta es la forma original y funciona en todas partes, excepto en lugares donde + y / tienen un significado especial.
Base64 Seguro para URL (RFC 4648 §5)
Reemplaza los dos caracteres que causan problemas en las URL:
| Carácter | Estándar | Seguro para URL |
|---|---|---|
| Signo más | + |
- |
| Barra inclinada | / |
_ |
El Base64 estándar Pz4/Pj8+QA== se convierte en Pz4_Pj8- QA_ en forma segura para URL (nota: el relleno = también se omite en el ejemplo, aunque el seguro para URL puede usar relleno).
Cuándo usar cada una
| Escenario | Variante |
|---|---|
| Archivos adjuntos de correo (MIME) | Estándar |
| Data URIs en HTML/CSS | Estándar |
| JSON Web Tokens (JWT) | Seguro para URL |
| Parámetros de consulta URL o segmentos de ruta | Seguro para URL |
| Nombres de archivo | Seguro para URL |
Payloads de API donde + podría decodificarse como espacio |
Seguro para URL |
| Certificados y claves PEM | Estándar |
El lado de decodificación de esta herramienta detecta automáticamente qué variante se usó, por lo que puede pegar cualquier formato sin cambiar ninguna configuración.
Un malentendido común
Algunos desarrolladores creen que Base64 seguro para URL es un algoritmo diferente. No lo es — solo cambian dos caracteres del alfabeto. Cualquier decodificador Base64 estándar puede adaptarse mapeando - → + y _ → / antes de procesar, que es exactamente lo que esta herramienta hace en el lado de decodificación.
Relleno en Base64
El carácter = al final de una cadena Base64 es relleno — no es parte de los datos codificados.
Por qué existe el relleno
Base64 procesa la entrada en grupos de 3 bytes. Si el último grupo tiene menos de 3 bytes, el codificador agrega = como relleno para hacer que la longitud total sea un múltiplo de 4. Esto es requerido por algunos decodificadores y permite concatenar múltiples cadenas Base64 sin ambigüedad.
Qué significa "sin relleno"
Cuando activa "Sin relleno", el codificador elimina los caracteres = finales de la salida. Por ejemplo:
- Entrada:
Fo→Rm8=(con relleno) →Rm8(sin relleno) - Entrada:
Foo→Rm9v(sin relleno en ningún caso — múltiplo exacto de 3)
Muchos sistemas modernos aceptan Base64 sin relleno, y el decodificador de esta herramienta siempre lo maneja. Active esta opción cuando el sistema al que envía la salida no requiera o no quiera relleno.
Matriz de Interoperabilidad
La sección de decodificación de esta herramienta acepta las cuatro combinaciones automáticamente:
| Formato de Entrada | Ejemplo | ¿Decodifica? |
|---|---|---|
| Estándar con relleno | Rm8= |
Sí |
| Estándar sin relleno | Rm8 |
Sí |
| Seguro para URL con relleno | Rm8= |
Sí |
| Seguro para URL sin relleno | Rm8 |
Sí |
No hay una opción que ajustar. El decodificador normaliza la entrada antes de procesarla.
Cuándo se requiere relleno
Algunos sistemas requieren estrictamente relleno, particularmente:
- Data URIs:
data:image/png;base64,...— el analizador del navegador espera Base64 con el relleno correcto. - Bibliotecas Base64 antiguas: Algunas implementaciones rechazan completamente la entrada sin relleno.
Si no está seguro de si el sistema de destino requiere relleno, manténgalo activado (el valor predeterminado). Eliminar el relleno solo es seguro cuando controla tanto el codificador como el decodificador.
Base64 vs. Otros Esquemas de Codificación
Base64 es uno de varios esquemas de codificación de binario a texto, cada uno con diferentes compromisos en densidad, tamaño del alfabeto y caso de uso.
| Esquema | Tamaño del Alfabeto | Sobrecarga | Uso Típico |
|---|---|---|---|
| Hex (Base16) | 16 caracteres | 100 % | Huellas dactilares, hashes, códigos de color |
| Base32 | 32 caracteres | 60 % | Registros DNS, secretos TOTP, intercambio de archivos |
| Base64 | 64 caracteres | 33 % | Data URIs, JWT, MIME, PEM, payloads de API |
| Base85 (Ascii85) | 85 caracteres | 25 % | Adobe PostScript, PDF, pickles de Python |
| Base122 | 122 caracteres | ≈14 % | Nicho — codificación compacta para canales restringidos |
Por qué Base64 es el más popular
Base64 alcanza el punto óptimo para la mayoría de las aplicaciones prácticas. En comparación con Hex — que duplica el tamaño de entrada — la sobrecarga del 33 % de Base64 es significativamente más eficiente. En comparación con Base85, Base64 es más simple de implementar (cada lenguaje tiene un decodificador incorporado), y su alfabeto evita los problemas de citado que los caracteres Base85 como " y \ pueden causar en algunos contextos.
Cuándo usar otra cosa
- Hex: Cuando la legibilidad humana y la depuración importan más que el tamaño. Una cadena Hex como
4f6fse reconoce instantáneamente como datos codificados;b293es menos obvio como Base64. - Base32: Cuando no se requiere distinción entre mayúsculas y minúsculas (por ejemplo, para decir en voz alta por teléfono, impreso en productos). Base32 usa solo letras mayúsculas y dígitos.
- Base85: Cuando cada byte de sobrecarga importa en un canal restringido y controla ambos extremos de la tubería.
Para la codificación web de propósito general, Base64 sigue siendo la opción predeterminada correcta. Esta herramienta sigue esa convención.
Rendimiento y Consideraciones de Tamaño
Base64 es simple y universal, pero tiene costos reales que importan cuando trabaja con datos más grandes.
La Sobrecarga del 33 %
Cada 3 bytes de entrada se convierten en 4 bytes de salida, una relación 4:3. En la práctica, incluyendo el relleno y los saltos de línea, la sobrecarga es de aproximadamente el 37 % para entradas pequeñas y se estabiliza en el 33 % para entradas suficientemente grandes.
| Tamaño de Entrada | Tamaño Base64 Aproximado |
|---|---|
| 1 KB | 1.37 KB |
| 10 KB | 13.7 KB |
| 100 KB | 137 KB |
| 1 MB | 1.37 MB |
| 10 MB | 13.7 MB |
Base64 y Compresión
La compresión Gzip (o Brotli) del texto Base64 es generalmente ineficaz. La salida Base64 tiene una distribución uniforme de caracteres — cada uno de los 64 caracteres aparece con aproximadamente la misma frecuencia — lo que elimina los patrones que explotan los algoritmos de compresión. Una cadena Base64 comprimida suele ser solo un 5–10 % más pequeña que la forma sin comprimir, en comparación con la reducción del 60–80 % alcanzable con los datos binarios originales.
Esto significa:
- No codifique en Base64 antes de comprimir. Comprima primero, luego codifique si es necesario.
- No confíe en la compresión a nivel de transporte (por ejemplo, HTTP gzip) para compensar la sobrecarga de Base64. No lo hará.
Cuándo no usar Base64
Base64 tiene sentido cuando necesita encajar datos binarios en un canal de solo texto. Si el canal admite transferencia binaria de forma nativa, omita Base64:
- Cargas de archivos: Use
multipart/form-datacon binario bruto, no Base64 en JSON. El archivo llega al servidor un 33 % más grande y tarda más en subirse. - Almacenamiento en bases de datos: Almacene datos binarios como
BYTEA(PostgreSQL),BLOB(MySQL/SQLite) ovarbinary(MSSQL) en lugar de texto Base64. - Llamadas API entre servicios: Use gRPC, Thrift o MessagePack con campos binarios en lugar de cadenas JSON codificadas en Base64.
Para payloads de texto (payloads JWT, contenido HTML, cuerpos de correo electrónico), la sobrecarga es insignificante y la conveniencia de Base64 vale la pena.
Implicaciones de Caché
Cuando incrusta una Data URI Base64 en HTML o CSS, el contenido codificado se convierte en parte del recurso de la página. El navegador no puede almacenar en caché esa Data URI de forma independiente — cualquier cambio en la página la invalida. Un archivo de imagen separado solicitado mediante <img src="icon.png"> puede almacenarse en caché entre páginas con un encabezado Cache-Control de futuro lejano. Para activos de más de unos pocos kilobytes, los archivos separados casi siempre funcionan mejor.
Errores Comunes y Conceptos Erróneos
Base64 es simple, pero varios malentendidos recurrentes causan errores reales.
Base64 No Es Cifrado
Este es el concepto erróneo más común. Debido a que la salida Base64 parece caracteres aleatorios, muchos desarrolladores asumen que proporciona algún nivel de protección. No es así. La decodificación no requiere clave ni secreto. Trate cualquier cadena Base64 como texto públicamente legible.
Si ve que un servicio almacena contraseñas o claves de API como Base64, trátelo como un problema de seguridad — los datos están almacenados en texto plano.
Sensibilidad a Mayúsculas y Minúsculas
El alfabeto Base64 distingue entre mayúsculas y minúsculas:
- Mayúsculas: A–Z (valores 0–25)
- Minúsculas: a–z (valores 26–51)
Un error tipográfico como R vs r cambia completamente el valor decodificado. Si su salida decodificada parece incorrecta, verifique si hay errores de mayúsculas/minúsculas en la entrada.
Saltos de Línea MIME
Los archivos adjuntos de correo codificados en MIME dividen el cuerpo Base64 cada 76 caracteres:
SGVsbG8sIHdvcmxkISBUaGlzIGlzIGEgdGVzdCBvZi BiYXNlNjQgZW5jb2Rpbmcu
VGhpcyBpcyB0aGUgc2Vjb25kIGxpbmUu
No todos los decodificadores Base64 manejan estos saltos de línea incrustados. Esta herramienta sí lo hace — pegue Base64 MIME multilínea directamente sin preprocesamiento. Un decodificador que no maneje saltos de línea producirá un resultado alterado o un error.
Espacios en Blanco Ocultos
Copiar texto de correos electrónicos, PDF o páginas web puede introducir caracteres de espacio en blanco invisibles (espacios, tabulaciones, espacios de ancho cero, espacios de no separación). Estos no son Base64 válido. Si una cadena Base64 de apariencia válida no se decodifica, péguela primero en un editor de texto plano para verificar si hay caracteres ocultos, o vuelva a copiarla de la fuente.
Concatenación de Cadenas con Relleno
Dos cadenas Base64 con relleno concatenadas directamente no necesariamente se decodifican correctamente. El relleno = pertenece al último grupo de cada cadena, y la concatenación puede crear límites ambiguos. Esto es intencional — el relleno evita la ambigüedad para cadenas individuales. Para datos de múltiples partes, maneje cada parte por separado.
Uso
Usar el Codificador y Decodificador Base64 no requiere configuración, registro ni cuenta.
Codificar Texto a Base64
- En la sección Codificar Base64, escriba o pegue su texto en el área de texto de entrada.
- El área de salida se actualiza automáticamente con el resultado codificado.
- Opcionalmente, active Seguro para URL para usar la variante web segura, o Sin relleno para eliminar los caracteres
=finales. - Haga clic en Copiar para copiar el texto codificado al portapapeles, o Descargar Base64 para guardarlo como un archivo
.b64.
Decodificar Base64 a Texto
- En la sección Decodificar Base64, pegue una cadena Base64 en el área de entrada.
- El texto decodificado aparece en el área de salida al instante.
- Si la entrada no es Base64 válido, se muestra un mensaje de error.
- Haga clic en Copiar o Descargar para guardar el resultado decodificado.
Usar Carga de Archivos
- Sección Codificar: suelte un archivo
.txten la zona de carga para cargar su contenido para codificar. - Sección Decodificar: suelte un archivo
.b64o.txtpara cargar contenido Base64 para decodificar.
El contenido del archivo se lee, se coloca en el área de texto de entrada y se procesa inmediatamente.
Tutorial
Escenario: Está construyendo una aplicación web que se comunica con una API. La API espera que el payload de la solicitud incluya un campo de texto corto codificado como Base64 seguro para URL sin relleno. Necesita codificar su texto, verificar la salida y confirmar que la API lo acepta. Más tarde, recibe una respuesta de la misma API con un campo codificado en Base64 que necesita decodificar.
Este tutorial le guía a través del recorrido completo.
Parte 1: Codificar
-
Abra el Codificador y Decodificador Base64 en su navegador. Ve dos secciones lado a lado — Codificar a la izquierda, Decodificar a la derecha.
-
En el área de entrada de Codificar, escriba el siguiente texto:
Hola, servidor API. Este es mi payload.El área de salida muestra inmediatamente la codificación Base64 estándar. El resultado comienza con
SG9sYSwg. Bien por ahora. -
La especificación de la API requiere Base64 seguro para URL sin relleno. Active ambas casillas Seguro para URL y Sin relleno. Observe cómo cambia la salida:
- Los caracteres
+(si los hay) se convierten en- - Los caracteres
/se convierten en_ - Los caracteres
=finales desaparecen
- Los caracteres
-
Haga clic en Copiar para copiar el resultado codificado al portapapeles. Péguelo en el payload de su solicitud API.
Parte 2: Decodificar
-
La API responde con un payload JSON que contiene un campo codificado en Base64:
{ "status": "ok", "message": "eyJzdWIiOiAiMTAwMSIsICJuYW1lIjogIkFQSSBHYXRld2F5In0=" } -
Copie el valor de
messagey péguelo en el área de entrada de Decodificar.El área de salida muestra instantáneamente el texto decodificado:
{ "sub": "1001", "name": "API Gateway" } -
El payload JSON tipo JWT ahora es legible. Si la API hubiera usado Base64 seguro para URL (sin
+o/en la cadena, o con-y_), el decodificador lo habría manejado automáticamente.
Parte 3: Flujo de Trabajo Basado en Archivos
-
Suponga que necesita enviar el payload codificado a un colega que prefiere archivos. Haga clic en Descargar Base64 en la sección Codificar. El diálogo Guardar Como de su navegador se abre, sugiriendo
download.b64como nombre de archivo. Guarde el archivo. -
Su colega recibe el archivo y abre esta misma herramienta. Arrastra
download.b64a la zona de carga de la sección Decodificar. El contenido del archivo aparece en el área de entrada, y el texto decodificado aparece inmediatamente.
Este recorrido — codificar con opciones → copiar o descargar → decodificar con detección automática — cubre el flujo de trabajo real más común. La herramienta maneja toda la normalización para que usted no tenga que pensar en variantes de caracteres o reglas de relleno.
Consejos Profesionales
-
Codifique y decodifique simultáneamente: Las dos secciones son independientes. Puede escribir texto en la sección Codificar y pegar una cadena Base64 separada en la sección Decodificar al mismo tiempo. Úselo para comparar entrada y salida de ambas direcciones lado a lado.
-
Seguro para URL para JWTs: Cuando trabaje con tokens JWT, active siempre el modo seguro para URL. Los segmentos JWT usan la variante segura para URL (RFC 7515). Si pega un segmento JWT en la sección de decodificación, la herramienta detecta los caracteres seguros para URL automáticamente.
-
Recorte los espacios en blanco antes de pegar: Algunas fuentes de datos Base64 incluyen saltos de línea o espacios finales. El decodificador maneja mejor las entradas recortadas. Si ve un error "Cadena Base64 no válida", verifique si el texto pegado tiene espacios en blanco adicionales.
-
Descargue para salidas grandes: Para cadenas Base64 largas, use los botones de Descargar en lugar de Copiar. El diálogo Guardar Como nativo le permite elegir dónde guardar el archivo, y el resultado se guarda como un archivo
.b64o.txtque puede transferir o archivar. -
Cargue como alternativa a escribir: Si ya tiene un archivo que contiene el texto o los datos Base64, arrástrelo a la zona de carga. Esto es más rápido que abrir el archivo, seleccionar todo, copiar y pegar — especialmente para archivos grandes.
-
Decodifique primero para verificar el formato: Si recibe una cadena Base64 y no está seguro de si contiene texto o datos binarios, péguela en la sección de decodificación. Si la salida es texto legible, ha terminado. Si contiene caracteres alterados o glifos de reemplazo ( ), la fuente original era probablemente binaria (una imagen, PDF u otro formato no textual).
Alternativas
Existen varias otras formas de codificar o decodificar Base64, cada una con diferentes compromisos.
| Herramienta / Método | Mejor para | Limitaciones |
|---|---|---|
| Toollect Codificador y Decodificador Base64 | Codificación/decodificación en tiempo real en el navegador, privacidad primero, secciones duales de codificar/decodificar | Requiere internet para la carga inicial de la página |
Comando Unix base64 |
Scripting, procesamiento por lotes, flujos de trabajo con tuberías | Solo línea de comandos, sin GUI, sin cambio a seguro para URL |
| CyberChef | Transformaciones de datos de múltiples pasos (Base64 + descomprimir + descifrar) | Excesivo para codificar/decodificar simple, carga de página más pesada |
DevTools del navegador btoa()/atob() |
Conversiones rápidas únicas sin salir de las herramientas de desarrollador | Sin soporte UTF-8 por defecto, sin carga de archivos, sin opción segura para URL |
| Herramientas Base64 online (lado servidor) | Uso único cuando no puede ejecutar herramientas del lado del cliente | Los datos se envían a un servidor; riesgo de privacidad para contenido sensible |
OpenSSL openssl base64 |
Procesamiento de certificados PEM, flujos de trabajo criptográficos | Solo línea de comandos, orientado a certificados, no para uso casual de texto |
Para codificar o decodificar texto Base64 con privacidad, retroalimentación en tiempo real y sin necesidad de conocimientos de línea de comandos, esta herramienta ofrece la mejor experiencia de usuario.
Privacidad de Datos
El Codificador y Decodificador Base64 procesa cada carácter completamente en su navegador. Ningún texto que ingrese se transmite a un servidor, se almacena en una base de datos o se registra en ningún sistema.
Toda la conversión se realiza utilizando las funciones nativas btoa() y atob() de JavaScript en la memoria del navegador. La página no incluye scripts de análisis, píxeles de seguimiento ni incrustaciones de terceros. No se crean ni leen cookies, localStorage ni sessionStorage.
Después de la carga inicial de la página, la herramienta funciona completamente fuera de línea. Puede desconectarse de internet y continuar codificando y decodificando sin interrupción. Verifíquelo usando la herramienta en modo avión o inspeccionando la actividad de red en las herramientas de desarrollador de su navegador — no salen solicitudes de su dispositivo después de que la página se carga.
Solución de Problemas
| Problema | Causa Probable | Solución |
|---|---|---|
| La decodificación muestra "Cadena Base64 no válida" | La entrada contiene caracteres no Base64 | Verifique que la entrada use solo A–Z, a–z, 0–9, +, /, -, _ y =. Elimine espacios en blanco o saltos de línea. |
| La decodificación produce texto alterado o glifos de reemplazo ( ) | Los datos originales eran binarios (imagen, PDF, ZIP), no texto | Esta herramienta decodifica Base64 a texto. Si la entrada original era binaria, la salida no será legible. Use un decodificador Base64 binario dedicado o identifique primero el formato con el comando file. |
| La decodificación produce texto alterado para Base64 de apariencia correcta | La entrada podría tener saltos de línea MIME (cada 76 caracteres) | Esta herramienta maneja los saltos de línea automáticamente. Si el problema persiste, verifique la cadena en un editor de texto plano para otros espacios ocultos. |
Error btoa() al pegar cierto texto |
Caracteres no ASCII en la entrada (chino, emoji, etc.) sin envoltura UTF-8 | La herramienta maneja esto automáticamente. Si ve un error JavaScript bruto, la envoltura UTF-8 no se está aplicando. Refresque la página. |
| El archivo .b64 descargado tiene contenido incorrecto | El archivo pudo haberse abierto en un editor que añadió saltos de línea | Los archivos .b64 deben contener una sola cadena Base64 continua. Si su editor divide líneas, el archivo sigue siendo válido — péguelo de vuelta en la herramienta para verificarlo. |
| La zona de carga no responde a arrastrar y soltar | Restricciones de seguridad del navegador o falta de soporte JavaScript | Arrastrar y soltar requiere JavaScript y puede estar bloqueado por políticas de seguridad del navegador. Use el selector de archivos (haga clic en la zona de carga) como alternativa. |
| La salida difiere de otra herramienta Base64 | El modo de relleno o seguro para URL puede diferir | Verifique si la otra herramienta elimina el relleno o usa una variante diferente. Active las casillas para coincidir. Si la otra herramienta usa un alfabeto no estándar, esta herramienta no puede replicarlo. |
| El texto decodificado está vacío pero no se muestra error | La entrada consistía enteramente en caracteres de relleno (ej. "==") | Una cadena de solo caracteres de relleno es técnicamente válida pero se decodifica como un resultado vacío. Verifique su entrada para datos faltantes. |
Especificaciones Técnicas
- Algoritmo Principal:
btoa()/atob()envuelto conencodeURIComponent/decodeURIComponentpara seguridad UTF-8 - Estándar: RFC 4648 §4 (Base64 estándar), RFC 4648 §5 (Base64 seguro para URL)
- Manejo de Entrada: Conversión automática de caracteres seguros para URL (
-→+,_→/) y normalización de relleno en la decodificación - Procesamiento en Tiempo Real: Detector de eventos
inputen áreas de texto, con rebote de aproximadamente un fotograma (16 ms) - E/S de Archivos: API
FileReaderpara carga,showSaveFilePicker(File System Access API) con respaldo<a download> - Formatos de Descarga:
.b64(codificado),.txt(decodificado) - Formatos de Carga:
.txt(sección Codificar),.b64/.txt(sección Decodificar)
Benchmarks de Rendimiento
| Tamaño de Entrada | Tiempo de Codificación | Tiempo de Decodificación |
|---|---|---|
| 1 KB | < 1 ms | < 1 ms |
| 10 KB | < 2 ms | < 2 ms |
| 100 KB | < 10 ms | < 10 ms |
| 1 MB | < 50 ms | < 50 ms |
Medido en un portátil de gama media de 2020 (Chrome 120). El rendimiento escala linealmente con el tamaño de entrada. Para payloads de texto típicos de menos de 100 KB, la conversión es prácticamente instantánea.
Compatibilidad del Navegador
| Navegador | Versión Mínima | Estado |
|---|---|---|
| Google Chrome | 86+ | Soporte completo |
| Mozilla Firefox | 87+ | Soporte completo |
| Apple Safari | 15+ | Soporte completo |
| Microsoft Edge | 86+ | Soporte completo |
| Samsung Internet | 15+ | Soporte completo |
| Opera | 72+ | Soporte completo |
showSaveFilePicker requiere navegadores basados en Chromium (Chrome, Edge, Opera, Samsung Internet). En Firefox y Safari, la descarga recurre automáticamente al método <a download>.
Privacidad y Seguridad
- Cero transmisión de datos: todo el procesamiento de texto ocurre en la memoria del navegador
- Sin cookies, localStorage ni sessionStorage utilizados
- Sin scripts de análisis o seguimiento en la página de la herramienta
- Completamente funcional en modo fuera de línea después de la carga inicial de la página
- Sin registro, inicio de sesión ni claves de API requeridos
Características
- Codificar texto a Base64 y decodificar Base64 a texto con conversión en tiempo real
- Modo seguro para URL usando -_ en lugar de +/ para Base64 compatible con la web (RFC 4648 §5)
- Opción sin relleno para eliminar los signos igual al final (RFC 4648 §3.2)
- Explicación integrada del esquema de codificación Base64 y del formato de archivo .b64
- Subir archivos .txt y .b64 con soporte de arrastrar y soltar
- Descargar resultados como archivos .b64 o .txt con diálogo nativo de Guardar Como
- Completamente del lado del cliente — sin envíos al servidor, funciona sin conexión