Pack Camo

Codificar y decodificar Base64

Codifica texto o archivos en Base64 y decodifica Base64, compatible con UTF-8. Todo se ejecuta localmente: no se sube nada.

Entrada
Text · any file · Base64
Salida
Base64 · Base64URL · text · file

Texto

36 caracteres · 50 B

Base64

68 caracteres · +36% frente a los bytes UTF-8

SGVsbG8sIHdvcmxkISBIw6lsbG8sIHfDtnJsZCEg44GT44KT44Gr44Gh44GvIPCfkYs=

Codificar y decodificar Base64, para texto y archivos

Este codificador y decodificador Base64 convierte texto o cualquier archivo en Base64 y viceversa mientras escribes. El texto se codifica primero como UTF-8, así que los acentos, los emoji y las escrituras no latinas sobreviven al viaje de ida y vuelta, y la variante Base64URL, segura para URL, está a un clic. Todo ocurre en tu navegador: el texto que pegas y los archivos que sueltas nunca se suben.

Cómo codificar o decodificar Base64

  1. Elige Texto para trabajar con algo que puedas escribir o pegar, o Archivo para codificar un archivo o convertir una cadena Base64 de nuevo en uno.
  2. Elige Codificar o Decodificar. Si pegas Base64 mientras codificas, la herramienta lo detecta y te ofrece decodificarlo.
  3. Al codificar, elige Base64 Estándar o Seguro para URL, si quieres mantener el relleno = y si quieres partir las líneas a 76 caracteres.
  4. Copia el resultado, pásalo de nuevo a la entrada para invertir la operación o envíalo a otra herramienta. Los archivos decodificados se pueden descargar; la extensión se elige a partir de la firma del propio archivo.

Qué es Base64 y por qué existe

Base64 representa bytes arbitrarios usando solo 64 caracteres seguros: A–Z, a–z, 0–9, + y /. Cada tres bytes de entrada se convierten en cuatro caracteres de salida, y cuando la longitud de la entrada no es múltiplo de tres, uno o dos signos = rellenan el final.

Existe porque muchos canales se diseñaron para texto, no para datos binarios. El correo electrónico (MIME), JSON, XML, los atributos HTML, las cabeceras HTTP y las variables de entorno pueden transportar Base64 sin problemas donde los bytes en bruto se estropearían. Por eso lo encuentras en adjuntos de correo, URI data:, cabeceras de autenticación Basic, JSON Web Tokens y payloads de API que incrustan archivos.

Base64 es una codificación, no un cifrado. Cualquiera puede decodificarlo, así que no oculta nada; si un valor tiene que ser secreto, cífralo. Si necesitas comprobar que unos datos no han cambiado, la herramienta adecuada es un checksum del generador de hash.

Base64 estándar, Base64URL y saltos de línea

El decodificador acepta todo esto: cualquiera de los dos alfabetos, con o sin relleno, con o sin saltos de línea y espacios. Se puede pegar tal cual un URI data:…;base64, completo.

Estándar (RFC 4648)
Usa + y / y rellena con =. Es lo que producen MIME, los data URI, la mayoría de las bibliotecas y la herramienta de línea de comandos base64.
Seguro para URL, Base64URL
Sustituye + por - y / por _ para que el resultado pueda ir en una URL o un nombre de archivo sin codificación porcentual. Los JWT lo usan sin relleno, por eso existe la opción de relleno.
Saltos de línea MIME
El correo exige líneas de 76 caracteres como máximo, así que los codificadores MIME insertan un salto de línea cada 76 caracteres. Actívalo al pegar en el código fuente de un correo o en un bloque tipo PEM; déjalo desactivado para JSON, URL y código.

Por qué el texto tiene que pasar primero a UTF-8

Base64 codifica bytes, no caracteres, así que el texto tiene que convertirse en bytes antes de codificarse. La función btoa() integrada en el navegador solo acepta caracteres hasta U+00FF y falla con cualquier otro, por eso los codificadores ingenuos fallan con "€", "日本" o un emoji. Esta herramienta codifica el texto como UTF-8, la codificación que espera casi cualquier sistema, así que é se convierte en los dos bytes C3 A9 y se decodifica de nuevo como é en cualquier plataforma.

Al decodificar, se comprueba que los bytes sean UTF-8 válido. Si no lo son, el Base64 casi seguro contiene un archivo binario y no texto, y la herramienta lo indica —y dice de qué tipo de archivo se trata cuando reconoce la firma— en lugar de mostrar una pantalla de caracteres basura.

Archivos: tamaño, firmas y entradas grandes

Base64 hace que los datos ocupen aproximadamente un tercio más: cuatro caracteres por cada tres bytes, más los saltos de línea si los partes. Una imagen de 3 MB se convierte en unos 4 MB de texto. La vista de archivo muestra ambos tamaños antes de copiar nada, lo que conviene revisar antes de incrustar un archivo grande en una hoja de estilos o un documento JSON.

Decodificar una cadena Base64 a un archivo funciona al revés. Los primeros bytes de la mayoría de los formatos de archivo son una firma fija —89 50 4E 47 para PNG, %PDF para PDF, PK para ZIP (y por tanto DOCX y XLSX)—, así que la herramienta los lee para nombrar bien la descarga y previsualizar imágenes. Los archivos grandes se codifican por partes con una barra de progreso para que la página siga respondiendo, y los resultados muy largos se previsualizan en parte, mientras que copiar y descargar siempre te dan el contenido completo.

Para imágenes en concreto, el conversor de imagen a Base64 también escribe fragmentos HTML, CSS y Markdown listos para pegar.

Preguntas frecuentes

¿Cómo decodifico una cadena Base64?
Elige Decodificar y pega la cadena. El texto decodificado aparece mientras escribes. Si el Base64 contiene un archivo en lugar de texto, cambia al modo Archivo para descargarlo con la extensión correcta.
¿Base64 es un cifrado?
No. Base64 es una codificación reversible que cualquiera puede decodificar sin clave. Hace que los datos binarios puedan transportarse como texto; no los protege.
¿Por qué Base64 hace los archivos más grandes?
Cada tres bytes se convierten en cuatro caracteres, así que la salida es un 33 % más grande que la entrada, y algo más si las líneas se parten para el correo.
¿Qué diferencia hay entre Base64 y Base64URL?
Base64URL sustituye los caracteres + y / por - y _ para que el resultado pueda usarse en URL y nombres de archivo, y normalmente omite el relleno =. Los JSON Web Tokens usan Base64URL.
¿Por qué mi texto decodificado parece símbolos aleatorios?
Probablemente el Base64 contiene datos binarios, como una imagen, un PDF o bytes comprimidos, y no texto. La herramienta lo detecta y ofrece tratarlo como archivo, que luego puedes descargar.
¿Qué significan los signos = del final?
Son relleno. Base64 trabaja en grupos de tres bytes, y cuando la entrada se acaba a mitad de un grupo, uno o dos signos = completan el último bloque de cuatro caracteres. Muchos decodificadores, incluido este, funcionan con o sin ellos.
¿Puedo convertir una cadena Base64 en un PDF o una imagen?
Sí. En el modo Archivo, elige Decodificar y pega la cadena o el data URI completo. La herramienta reconoce PNG, JPEG, GIF, WebP, PDF, ZIP, GZIP y otros formatos por sus primeros bytes, previsualiza las imágenes y te deja descargar el archivo.
¿Es seguro pegar aquí datos sensibles?
La codificación y decodificación se ejecutan por completo en tu navegador. Nada de lo que pegas o sueltas se sube ni se guarda.