Codificar y decodificar Base64

Codifica texto a Base64 o decodifica Base64 a texto al instante. Gratis, compatible con UTF-8 y 100 % en tu navegador.
Procesamiento 100 % local · tus archivos no salen de tu navegador
Publicidad
El resultado aparecerá aquí…

Todo se procesa en tu navegador.

Por qué existe Base64

Buena parte de la infraestructura de internet se diseñó para mover texto, no archivos. El correo electrónico, por ejemplo, nació transportando con garantías únicamente caracteres imprimibles de siete bits: cualquier byte fuera de ese rango podía ser alterado, recortado o confundido con una señal de control por algún servidor intermedio. Quedaba una pregunta incómoda: si el canal solo entiende letras, ¿cómo mandas una fotografía, un PDF o un archivo comprimido?

Base64 es la respuesta que se impuso y que sigue vigente hoy. Reescribe cualquier secuencia de bytes usando un alfabeto reducido que ningún sistema va a estropear por el camino, de forma totalmente reversible: quien recibe la cadena recupera el archivo original byte a byte, sin una sola diferencia.

El alfabeto de 64 caracteres

El nombre viene precisamente de ahí. El alfabeto lo forman 26 letras mayúsculas, 26 minúsculas, los 10 dígitos y dos símbolos más, normalmente el signo de suma y la barra: 64 símbolos en total. Y 64 no es un número caprichoso, es dos elevado a seis, así que cada carácter representa exactamente 6 bits.

Con esa equivalencia el mecanismo es casi aritmético: se toman 3 bytes de la entrada (24 bits), se reparten en 4 grupos de 6 bits y cada grupo se traduce a su carácter correspondiente. Entran tres, salen cuatro. Siempre.

El relleno con el signo igual

¿Y si al final de los datos no quedan 3 bytes justos, sino uno o dos? El último bloque se completa con ceros y se añaden signos igual para dejar constancia de cuántos bytes reales había: dos iguales significan que solo sobraba un byte y uno solo que sobraban dos. Por eso tantas cadenas terminan en «=» y por eso su longitud es siempre múltiplo de cuatro. No es basura ni un fallo al copiar; es contabilidad.

El coste: en torno a un 33 % más

Cuatro caracteres por cada tres bytes significa multiplicar por 4/3, es decir, aproximadamente un 33 % de sobrecarga. Un adjunto de 3 MB viaja como unos 4 MB de texto. Es un peaje razonable cuando la alternativa es que el dato llegue corrupto, pero conviene tenerlo muy presente a la hora de decidir si incrustas un archivo o simplemente lo enlazas.

Publicidad

Dónde te lo vas a encontrar

  • Adjuntos de correo. El estándar MIME codifica en Base64 las imágenes y los documentos que acompañan a un mensaje; si alguna vez has abierto el código fuente de un correo, ese muro de letras era tu archivo.
  • Data URIs. Iconos, fuentes o imágenes pequeñas incrustadas dentro del propio HTML o CSS, sin fichero aparte.
  • Tokens JWT. Su cabecera y su contenido son JSON codificado en Base64URL, una variante que sustituye los símbolos problemáticos para poder viajar dentro de una dirección web.
  • Claves y certificados. Los archivos PEM no son más que datos binarios en Base64 entre dos líneas de cabecera, y muchas plataformas piden pegar credenciales así en variables de entorno.
  • Autenticación básica de HTTP. El clásico «usuario:contraseña» codificado, que resulta ilegible a simple vista y absolutamente transparente para cualquiera que sepa decodificarlo.

Codificar no es cifrar

Ese último caso resume el malentendido más extendido. Una cadena Base64 parece secreta porque no se lee, pero revertirla no exige ninguna clave ni ningún permiso: basta pegarla en esta misma página.

Base64 cambia la forma del dato, no su confidencialidad. Quien lo ve, lo lee.

Si necesitas comprobar que un contenido no ha sido manipulado, lo tuyo es una función resumen como las del generador de hash. Y si lo que buscas es que nadie más pueda leerlo, entonces hablamos de cifrado, que es otra disciplina completamente distinta.

Publicidad

Cómo usar el conversor

  1. Elige la dirección: «Texto → Base64» para codificar o «Base64 → Texto» para recuperar el contenido original.
  2. Escribe o pega el contenido en el cuadro de entrada.
  3. El resultado aparece al momento y lo copias con un clic.

Todo se interpreta como UTF-8, así que los acentos, la ñ y los emojis se conservan. Recuerda que en esa codificación una ñ ocupa dos bytes y un emoji suele ocupar cuatro: un texto en español genera una cadena algo más larga que el mismo texto en inglés.

Seguimos con datos: herramientas afines

Si te interesa ver cómo se representa la información por dentro, prueba a pasar una frase a texto a binario o juega con el conversor de bases numéricas. Para trabajar con imágenes están imagen a Base64 y su inverso, Base64 a imagen. Y si lo que tienes entre manos es un token, el decodificador de JWT te lo desmonta en un segundo. Todo el catálogo está en la página de herramientas.

Preguntas frecuentes

¿Es gratis codificar y decodificar Base64?

Sí, es totalmente gratis y sin límite de uso. No necesitas registrarte ni instalar nada: pegas el contenido y el resultado aparece mientras escribes.

¿Por qué muchas cadenas Base64 terminan en «=» o «==»?

Porque Base64 trabaja en bloques de tres bytes y, cuando el último bloque queda incompleto, añade signos igual como relleno. Dos iguales indican que solo sobraba un byte real y uno indica que sobraban dos. No es un error de copiado: forma parte del formato.

¿Base64 protege mi información?

No, en absoluto. Es una codificación reversible por cualquiera y sin ninguna clave, así que no aporta confidencialidad. Sirve para transportar datos por canales de texto, nunca para ocultar contraseñas ni información sensible.

¿Por qué el resultado ocupa más que el texto original?

Porque cada tres bytes se convierten en cuatro caracteres, un incremento de aproximadamente el 33 %. Es el peaje que se paga por poder representar cualquier dato binario usando solo caracteres imprimibles.

¿Admite tildes, ñ y emojis?

Sí. Codificamos y decodificamos siguiendo UTF-8, de modo que los acentos, la ñ y los emojis se recuperan intactos. Ten en cuenta que esos caracteres ocupan varios bytes, así que la cadena resultante crece un poco más que con texto puramente inglés.

Al decodificar me salen símbolos raros como «Ã±», ¿qué pasa?

Ese patrón indica que el texto original se codificó en UTF-8 pero algo lo está leyendo como si fuera Latin-1. La cadena Base64 está bien; el problema es la codificación de caracteres del programa que muestra el resultado.

¿Queda registrado en algún sitio lo que escribo aquí?

No guardamos ni transmitimos nada. El cálculo lo hace el propio navegador con tu procesador, sin peticiones de red, y al cerrar la pestaña no queda rastro del contenido.

Herramientas relacionadas

Publicidad