Conversor de archivo a Base64

Suelta cualquier archivo, ya sea un documento, un archivo comprimido, una fuente, un certificado o un programa, y obtén su codificación Base64 como texto puro o como data URI. Todo se ejecuta localmente en tu navegador.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Suelta un archivo en la zona de carga o haz clic en ella para elegir un archivo de tu dispositivo (hasta 100 MB).
  2. En Salida, elige Base64 puro para API y archivos de configuración, o Data URI para HTML y CSS.
  3. Activa Saltos de línea cada 76 caracteres solo si el destino espera líneas al estilo MIME, como el cuerpo de un correo electrónico.
  4. Comprueba el nombre del archivo, el tipo MIME y los tamaños; después copia el resultado o descárgalo como archivo .txt.

¿Por qué codificar un archivo en Base64?

Muchos formatos que transportan datos entre sistemas solo admiten texto. JSON, XML, YAML, HTML y los encabezados de correo electrónico no pueden contener bytes arbitrarios, porque un archivo puede incluir bytes cero, secuencias de caracteres no válidas o finales de línea que un analizador de texto modificaría. Base64 convierte cada 3 bytes del archivo en 4 caracteres de un conjunto de 64 letras, dígitos, + y /, de modo que cualquier archivo puede viajar como una cadena de texto normal y decodificarse de nuevo exactamente en los mismos bytes.

El precio que se paga es el tamaño: el texto codificado ocupa aproximadamente un 33 % más que el archivo, y los saltos de línea añaden algo más. Un archivo de 3 MB se convierte en unos 4 MB de Base64.

Usos habituales

  • API JSON y XML. Los endpoints que no aceptan subidas mediante formularios multipart suelen esperar el archivo como una cadena Base64 en un campo, con el nombre y el tipo en otros.
  • Adjuntos de correo electrónico. MIME codifica los adjuntos en Base64 con líneas de 76 caracteres como máximo (RFC 2045). La opción Saltos de línea cada 76 caracteres produce el mismo formato.
  • Configuración y secretos. Los valores bajo data en un Secret de Kubernetes están en Base64, así que un certificado TLS, un almacén de claves o un archivo de licencia debe codificarse antes de incluirlo en el manifiesto. Los sistemas de CI también suelen guardar secretos binarios en variables de entorno de la misma forma.
  • Bases de datos y código fuente. Un binario pequeño, como una fuente, un sonido o un archivo de prueba, puede guardarse en una columna de texto o en una constante de cadena en lugar de en un archivo aparte.

Para imágenes, Imagen a Base64 añade redimensionado y fragmentos de HTML y CSS listos para usar. Para convertir Base64 de nuevo en un archivo, usa Base64 a archivo.

¿Base64 puro o data URI?

El Base64 puro contiene solo los bytes codificados. Es lo que esperan las API, Kubernetes, las bases de datos y la mayoría de las bibliotecas de programación, normalmente junto a un campo aparte para el nombre del archivo o el tipo de contenido.

Un data URI añade un prefijo con el tipo MIME, por ejemplo data:application/pdf;base64,, para que el navegador pueda usar la cadena completa como URL en src, href o en url() de CSS. No envíes ese prefijo a una API que pida Base64 sin más: muchos decodificadores lo rechazan. Para indicar tú mismo el tipo MIME o usar codificación porcentual, prueba el Generador de data URI.

Deja desactivados los saltos de línea para JSON, YAML y código fuente. Una cadena JSON no puede contener saltos de línea literales, y en YAML los valores divididos en varias líneas se rompen con facilidad.

Codificar un archivo desde la línea de comandos

# Linux (GNU coreutils): -w 0 desactiva el ajuste predeterminado a 76 caracteres
base64 -w 0 report.docx > report.txt

# macOS
base64 -i report.docx -o report.txt

# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))

# Kubernetes codifica el archivo por ti
kubectl create secret generic app-cert --from-file=tls.crt

Preguntas frecuentes

¿Hay un límite de tamaño de archivo?

Se pueden codificar archivos de hasta 100 MB. La salida ocupa aproximadamente un tercio más, así que un archivo de 100 MB genera unos 133 MB de texto. Mostrar tanto texto puede ralentizar la página, por lo que con archivos grandes conviene usar Descargar en lugar de copiar desde el cuadro de salida.

¿Se suben mis archivos a un servidor?

No. El archivo lo lee y lo codifica JavaScript en tu navegador, y no se envía nada por la red, así que los certificados, las claves y los documentos privados se quedan en tu dispositivo.

¿Base64 comprime o cifra el archivo?

Ninguna de las dos cosas. Base64 aumenta el tamaño de los datos en torno a un 33 %, y cualquiera puede decodificarlos. Si el archivo debe seguir siendo confidencial, cífralo antes de codificarlo; si el tamaño importa, comprímelo primero, por ejemplo en un archivo ZIP o gzip.

¿Por qué la salida contiene saltos de línea?

Está activada la opción Saltos de línea cada 76 caracteres. Coincide con el formato MIME que se usa en el correo electrónico, pero la mayoría de las API, los documentos JSON y los manifiestos de Kubernetes esperan una sola línea continua, así que desactívala en esos casos.

¿En qué se diferencia del codificador Base64?
El codificador Base64 está pensado para texto, con codificaciones de caracteres y variantes de Base64. Esta página está pensada para archivos: lee los bytes sin procesar de cualquier archivo, muestra su tipo MIME y puede generar directamente un data URI.