Codificar y decodificar Base64Texto, imágenes y JWT

Convierte texto o archivos a Base64 y al revés. Funciona con tildes y ñ, Base64URL, Data URL, imágenes y tokens JWT, y todo se hace en tu navegador.

Lo que introduces nunca se envía a ningún sitio.

Detalles
0 caracteres
Resultado
Aquí aparecerá el resultado

Escribe un texto o suelta un archivo para codificarlo. Para decodificar, pega Base64, un Data URL o un JWT.

Prueba un ejemplo:

Qué es Base64 y para qué sirve esta conversión

Base64 convierte datos en una cadena de texto formada por letras, números, «+» y «/». Se usa para enviar datos binarios por canales que solo admiten texto: los adjuntos del correo electrónico, la autenticación Basic de HTTP, las imágenes incrustadas en HTML o CSS (Data URL) y los tokens JWT.

Esta herramienta codifica y decodifica texto y archivos. Con el texto usa UTF-8, así que las tildes, la ñ y los signos como «¿» se convierten bien. Si el Base64 viene de un sistema antiguo, también lo lee como Windows-1252 (Latin-1). Reconoce el Base64URL, ignora los saltos de línea y completa los «=» que falten.

Para decodificar, puedes pegar Base64, un Data URL completo o un JWT: muestra imágenes, ofrece la descarga del archivo y enseña el contenido del token.

Casos de uso habituales

Credenciales para la autenticación Basic

Escribe usuario:contraseña y copia directamente la cabecera «Authorization: Basic …» para probar una API.

Imágenes incrustadas con Data URL

Suelta un icono o una imagen pequeña y obtén el Data URL para pegarlo en HTML o CSS, sin una petición de archivo aparte.

Leer un JWT o un Base64URL

Pega un token y verás su cabecera y su contenido en JSON, con las fechas de emisión y caducidad en tu zona horaria.

Depurar respuestas de una API o un registro

Cuando un campo llega en Base64, pégalo para ver si es texto, una imagen o un archivo, y descárgalo si hace falta.

Cómo convertir en 3 pasos

  1. Elige «Codificar» o «Decodificar».
  2. Escribe o pega el contenido; para codificar un archivo, pulsa «Elegir archivo» o suéltalo en el cuadro.
  3. Revisa el resultado, que se actualiza al instante, y pulsa «Copiar» o «Descargar».

Nota: Si el Base64 va a ir en una URL, activa «Base64URL» antes de codificar.

Detalles que conviene conocer

  • Codificación del texto: se usa UTF-8 por defecto. Al decodificar en modo automático, si los bytes no son UTF-8 válido se leen como Windows-1252 (Latin-1) y se indica en una etiqueta.
  • Base64URL: al decodificar se detecta sola (si hay «-» o «_»). Al codificar se activa con su interruptor, y entonces se quitan los «=».
  • Relleno y espacios: al decodificar se completan los «=» que falten y se ignoran los espacios y los saltos de línea. Un «=» en medio del texto, o una longitud imposible, produce un error.
  • Archivos: el tamaño máximo es de 5 MB. En la decodificación se reconocen PNG, JPEG, GIF, WebP, PDF, ZIP y GZIP por sus primeros bytes.
  • Seguridad: Base64 no es cifrado. Cualquiera puede decodificarlo, así que no sirve para proteger contraseñas ni claves.

Formatos de Base64 y cuándo se usa cada uno

Las variantes más habituales y dónde te las vas a encontrar.

FormatoCómo esDónde se usa
Base64 estándarLetras, números, «+», «/» y «=» de rellenoCorreo electrónico (MIME), PEM, autenticación Basic
Base64URLUsa «-» y «_» en lugar de «+» y «/», y suele omitir los «=»JWT, URL y nombres de archivo
Base64 MIMEEstándar, con un salto de línea cada 76 caracteresCuerpo del correo electrónico
Data URLdata:tipo/subtipo;base64,… Imágenes e iconos en HTML y CSS
Cabecera Basic«Basic » + Base64 de usuario:contraseñaAutenticación HTTP (siempre con HTTPS)
JWTTres partes separadas por puntos; las dos primeras son Base64URLAutenticación y autorización en APIs

Base64 no es cifrado
Transforma los datos, pero no los oculta: cualquiera puede revertirlo. Por eso no se debe guardar una contraseña «en Base64» como si estuviera protegida.

Tildes y ñ: UTF-8 frente a Latin-1
Antes de pasar a Base64, el texto se convierte en bytes. «niño» da bmnDsW8= en UTF-8 y bmnxbw== en Windows-1252. Los dos son Base64 válido, pero no son intercambiables: hay que usar en cada caso la misma codificación con la que se codificó.

Cuestiones prácticas al trabajar con Base64

Cuatro puntos que suelen causar dudas al codificar texto, imágenes o credenciales.

Texto con tildes y ñ: la codificación cambia el resultado

Base64 trabaja con bytes, no con letras. Una letra con tilde ocupa dos bytes en UTF-8 y uno en Latin-1, así que el Base64 resultante es distinto.
En JavaScript, btoa() solo admite caracteres de un byte, por lo que falla con un texto que tenga, por ejemplo, un euro o emojis; primero hay que convertir el texto a bytes UTF-8, como hace esta herramienta.

De imagen a Data URL y de Data URL a archivo

Un Data URL tiene la forma data:image/png;base64,… y permite incrustar una imagen en HTML o CSS.
Al pegar uno en «Decodificar», la herramienta quita el prefijo, reconoce el tipo de archivo por sus primeros bytes, muestra la imagen y te deja descargarla.

Cuánto pesa el Base64 y cuándo compensa

Cada 3 bytes pasan a ser 4 caracteres: el resultado ocupa aproximadamente un 33 % más, y algo más con las líneas de 76 caracteres del formato MIME.
Para iconos pequeños puede compensar ahorrar una petición; para archivos grandes, no. Debajo del resultado se indica el aumento exacto.

Cómo hacerlo en cada lenguaje

En Node.js: Buffer.from(texto, "utf8").toString("base64"). En Python: base64.b64encode(texto.encode("utf-8")). En PHP: base64_encode($texto).
Compara su salida con la de esta herramienta para comprobar que usas la misma codificación y la misma variante (estándar o URL).

Errores frecuentes con Base64

Las tildes y la ñ salen como «Ã±» o «�»

El texto se ha codificado con una codificación y se ha decodificado con otra (por ejemplo, UTF-8 leído como Latin-1). Los caracteres con tilde se estropean.

💡 Ver la solución▼
Deja la codificación en «Automática» al decodificar; si sigue mal, elige UTF-8 o Windows-1252 manualmente. Al codificar, usa la misma codificación que usará quien lo reciba.

El Base64 rompe una URL

El Base64 estándar contiene «+», «/» y «=», que en una URL se pueden interpretar como un espacio, un separador de ruta o un separador de parámetros.

💡 Ver la solución▼
Activa «Base64URL» al codificar: sustituye «+» por «-», «/» por «_» y quita los «=». Al decodificar, esta herramienta lo detecta sola.

Creer que Base64 protege una contraseña

Base64 solo cambia la forma de escribir los datos y se revierte en un segundo. Una contraseña o una clave «en Base64» está tan expuesta como en texto normal.

💡 Ver la solución▼
Usa cifrado o hash de contraseñas para proteger datos, y HTTPS para enviar credenciales. Basic auth sin HTTPS no es seguro.

Un error al decodificar un Base64 copiado de un correo o de un archivo

Al copiar Base64 de un correo, un archivo PEM o un registro, llegan saltos de línea, espacios o el prefijo «data:», y faltan «=» del final. Un decodificador estricto devuelve un error.

💡 Ver la solución▼
Pega el texto tal cual: la herramienta ignora los espacios y los saltos de línea, quita el prefijo del Data URL y completa el relleno. Si la longitud es imposible, indica que falta o sobra un carácter.

Preguntas frecuentes sobre Base64

Q.¿Qué es Base64 y para qué sirve?

Q.

A. Base64 es una forma de representar datos binarios (una imagen, un archivo, unos bytes cualquiera) usando solo 64 caracteres de texto: letras, números, «+» y «/», con «=» de relleno al final. Se usa para transportar datos por medios que solo admiten texto, como el correo electrónico (MIME), las cabeceras HTTP, los Data URL y los JWT.

Q.¿Base64 es un cifrado?

Q.

A. No. Base64 solo cambia la forma de escribir los datos y cualquiera puede revertirlo, como hace esta herramienta. No protege contraseñas, claves ni datos personales. Si necesitas confidencialidad, usa cifrado de verdad y, para enviar credenciales, HTTPS.

Q.¿Por qué el Base64 de un texto con ñ o tildes es distinto en otro sitio?

Q.

A. Porque antes de pasar a Base64 el texto se convierte en bytes, y el resultado depende de la codificación. «niño» en UTF-8 da bmnDsW8= y en Windows-1252 (Latin-1) da bmnxbw==. Esta herramienta usa UTF-8 por defecto, que es lo habitual hoy. Al decodificar, si los bytes no son UTF-8 válido, se leen como Windows-1252 y se avisa. Puedes cambiar la codificación a mano.

Q.¿Cómo convierto una imagen a Base64 y al revés?

Q.

A. En «Codificar», pulsa «Elegir archivo» o suelta la imagen en el cuadro: obtendrás su Base64 y, en la sección de Data URL, el texto listo para pegar en HTML o CSS. Para el camino contrario, pega el Base64 o el Data URL completo en «Decodificar»: la herramienta reconoce imágenes PNG, JPEG, GIF y WebP, las muestra y te deja descargar el archivo. El tamaño máximo para archivos es de 5 MB.

Q.¿Qué es Base64URL y cuándo debo usarlo?

Q.

A. Es una variante que cambia «+» por «-» y «/» por «_», y suele omitir los «=» del final (RFC 4648, sección 5). Así el texto se puede poner en una URL o en un nombre de archivo sin que esos caracteres se interpreten de otra forma. Los JWT usan esta variante. Al codificar, activa «Base64URL»; al decodificar, la herramienta lo detecta sola.

Q.¿Qué pasa si al Base64 le faltan los «=» del final?

Q.

A. Se completan automáticamente al decodificar y se indica con una etiqueta. También se ignoran los espacios y los saltos de línea, así que puedes pegar Base64 copiado de un correo o de un archivo con líneas de 76 caracteres. Si la longitud es imposible (sobra o falta un carácter), se muestra un error que lo explica.

Q.¿Cuánto crece el tamaño al pasar a Base64?

Q.

A. Cada 3 bytes se convierten en 4 caracteres, es decir, aproximadamente un 33 % más. Con las líneas de 76 caracteres del formato MIME se añaden saltos de línea y el aumento es algo mayor. Debajo del resultado se indica el tamaño original, el número de caracteres y el porcentaje exacto.

Q.¿Cómo creo la cabecera «Authorization: Basic»?

Q.

A. La autenticación Basic de HTTP envía «usuario:contraseña» codificado en Base64 (RFC 7617). Escribe tus datos en «Codificar» con el formato usuario:contraseña y pulsa «Copiar cabecera Authorization: Basic». Los datos se codifican en UTF-8, la única codificación que el estándar permite indicar al servidor (parámetro charset). Úsala siempre con HTTPS, porque Base64 se puede decodificar en un segundo.

Q.¿Puedo decodificar un JWT?

Q.

A. Sí. Pega el token completo en «Decodificar» y se muestran la cabecera y el contenido (payload) en JSON, con las fechas de emisión y caducidad en tu zona horaria. La herramienta no verifica la firma: solo muestra lo que lleva el token, que cualquiera puede leer.

Q.¿Se envía lo que pego a algún servidor?

Q.

A. No. Todo se calcula en tu navegador, incluidos los archivos que eliges, y el contenido no se envía ni se guarda en ningún servidor.

User Feedback & Request

Tus comentarios
mejoran esta herramienta.

Cuéntanos qué funciones te gustaría tener, qué hay que corregir o qué herramienta nueva quieres ver. Un ingeniero lee cada mensaje y lo usa para orientar el desarrollo.

Enviar comentarios