Decodificar Base64

Pega una cadena Base64 y recupera el texto o los bytes originales. Los saltos de línea, los caracteres seguros para URL, el relleno ausente y los prefijos data: se gestionan automáticamente, y los errores señalan el carácter exacto.

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

Cómo se usa

  1. Pega la cadena Base64 en la entrada o haz clic en Abrir archivo para cargar un archivo que contenga texto en Base64.
  2. Mantén la salida como Texto y elige la Codificación de texto (UTF-8 de forma predeterminada), o cambia el Formato de salida a Hexadecimal si se trata de datos binarios.
  3. Si la decodificación falla, lee el mensaje de error: indica la posición del primer carácter no válido.
  4. Copia el resultado decodificado o descárgalo.

Qué acepta el decodificador

La decodificación invierte la codificación: cada carácter vuelve a su valor de 6 bits y cada grupo de cuatro caracteres se convierte en tres bytes. El Base64 que circula en la práctica rara vez está limpio, así que este decodificador es tolerante:

  • Los espacios y los saltos de línea se ignoran, de modo que puedes pegar tal cual cuerpos MIME con ajuste de línea y bloques PEM. Eso sí, elimina antes las líneas -----BEGIN y -----END: sus letras y guiones son caracteres Base64 válidos y se decodificarían como datos.
  • La entrada segura para URL con - y _ se decodifica igual que el Base64 estándar con + y /.
  • La falta de relleno no es un problema. Solo se rechaza una longitud de 4n + 1 caracteres, porque un único carácter sobrante no puede formar un byte; suele significar que la cadena se cortó.
  • Los data URI también funcionan: el prefijo inicial data:...;base64, se elimina antes de decodificar.

Salida como texto o como datos binarios

El resultado de decodificar es siempre una secuencia de bytes. Si el original era texto, mantén la salida como Texto y elige su juego de caracteres. Si era una imagen, un PDF, un archivo comprimido, una clave o un texto cifrado, ningún juego de caracteres lo hará legible: cambia el Formato de salida a Hexadecimal para inspeccionar los bytes, o abre Base64 a archivo o Base64 a imagen para previsualizarlo y guardarlo. Los primeros caracteres suelen delatar el contenido:

El Base64 empieza porContenido decodificado
iVBORw0KGgoImagen PNG
/9j/Imagen JPEG
R0lGODImagen GIF
JVBERi0Documento PDF
UEsDBArchivo ZIP, incluidos DOCX, XLSX y JAR
H4sIDatos comprimidos con gzip
eyJObjeto JSON, como el encabezado de un JWT

Por qué el texto decodificado aparece con caracteres extraños

  • Juego de caracteres incorrecto. Un texto UTF-8 leído como Windows-1252 convierte la é en é, y un texto GBK o Shift_JIS leído como UTF-8 muestra caracteres de reemplazo (�). Selecciona el juego de caracteres con el que se escribió el texto.
  • Datos binarios. Símbolos aleatorios con algún fragmento legible suelto, como PNG o PK cerca del principio, indican que el contenido es un archivo y no texto.
  • Datos comprimidos o cifrados. Los flujos gzip, los Protocol Buffers y los textos cifrados se decodifican correctamente, pero no son texto. La salida Hexadecimal muestra lo que hay realmente.
  • Doble codificación. Si la salida es a su vez Base64, pégala de nuevo en la entrada y decodifícala una segunda vez.

Decodificar Base64 en código

# Python
base64.b64decode(s).decode('utf-8')

// Node.js (también acepta entrada segura para URL)
Buffer.from(s, 'base64').toString('utf8')

// Navegador: atob() devuelve un carácter por byte, así que después hay que decodificar el UTF-8
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))

# Shell de Linux y macOS
echo 'SGVsbG8=' | base64 --decode

Especificación

AlfabetoA-Z a-z 0-9 + /
Tamaño de salida4 caracteres por cada 3 bytes (aprox. 133%)
RellenoCon = hasta un múltiplo de 4 caracteres
EstándarRFC 4648, sección 4
Distingue mayúsculas y minúsculasSí

Ejemplos

Entrada (UTF-8)Salida
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Preguntas frecuentes

¿Por qué aparece un error de carácter no válido?
La entrada contiene algo que no pertenece al alfabeto Base64, como comillas, una barra invertida o secuencias de escape porcentuales como %2B y %3D copiadas de una URL. Quita las comillas o deshaz primero la codificación URL de la cadena. El mensaje de error muestra la posición del primer carácter problemático.
¿Puedo decodificar Base64 sin relleno?
Sí. El decodificador no necesita los signos = finales, así que las cadenas sin relleno procedentes de JWT, URL y API se decodifican con normalidad.
¿Por qué el resultado es incorrecto después de copiar Base64 de una URL?
Cuando se coloca Base64 en una cadena de consulta sin escaparlo, la decodificación de formularios suele convertir cada + en un espacio. Aquí los espacios se ignoran, así que esos caracteres se pierden. Sustituye los espacios por + antes de decodificar y usa Base64URL para los valores que viajan en URL.
¿Cómo decodifico Base64 a una imagen o un archivo?
Usa Base64 a imagen para previsualizar y descargar imágenes, o Base64 a archivo para PDF, archivos comprimidos, audio y otros archivos. Ambas herramientas detectan el tipo de archivo a partir de sus primeros bytes.
¿Se envía mi Base64 a un servidor?

No. La decodificación se ejecuta en tu navegador con JavaScript y la entrada nunca sale de tu dispositivo, algo importante cuando decodificas tokens, secretos de configuración o datos personales.