Ir al decodificador Base64

RFC 4648 · Decodificador y codificador

Decodifica Base64 sin subir absolutamente nada.

Pega una cadena Base64 y obtén texto legible, una imagen o un archivo mientras escribes. Este decodificador Base64 online funciona íntegramente en tu navegador: tus datos nunca se suben, nunca se registran y nunca salen de tu dispositivo.

  • Decodifica mientras escribes
  • Más de 20 juegos de caracteres
  • Imágenes, PDF y JWT
  • Sin anuncios ni registro

Actualizado el · Base64 estándar y URL-safe (RFC 4648)

Herramienta para decodificar y codificar Base64

0 caracteres
Resultado decodificado
Tipo: — Tamaño: 0 B
Opciones
General
Opciones de decodificación

Ctrl+Enter decodificar Ctrl+Shift+C copiar resultado Suelta un archivo en la entrada para cargarlo

Decodificar Base64 online: gratis, al instante y en privado

Este decodificador Base64 online hace el trabajo en tu navegador, no en un servidor. Pega el contenido en el cuadro de arriba y el resultado aparece sobre la marcha: sin botones, sin recargar la página y sin subir nada. El texto sale legible, las imágenes aparecen en la pestaña Vista previa y cualquier dato binario recibe un volcado hexadecimal y un botón Descargar con la extensión de archivo correcta.

Cambia a Codificar para hacer el proceso inverso, o usa nuestro codificador en freebase64encode.com. Si prefieres decodificar Base64 en código, los ejemplos de más abajo cubren Python, JavaScript, Linux, Windows PowerShell, PHP, Java, Go, C# y Ruby.

¿Trabajas con un formato concreto? Tenemos páginas específicas para convertir Base64 a imagen, Base64 a PDF y Base64 a hexadecimal, y para decodificar Base64URL y JWT.

Cómo decodificar Base64 en tres pasos

  1. 01

    Pega tu cadena Base64

    Pega los datos Base64 en el cuadro de entrada o arrastra un archivo encima. Los espacios, los saltos de línea, los prefijos de URI data: y los caracteres URL-safe se gestionan automáticamente.

  2. 02

    Lee el resultado decodificado

    El resultado aparece al instante en el panel junto a la entrada, decodificado en tu navegador. Elige otro juego de caracteres si el texto se ve mal.

  3. 03

    Copia, descarga o previsualiza

    Copia el texto decodificado, descarga la salida binaria como archivo con la extensión correcta, revísala en hexadecimal o previsualiza una imagen decodificada en la propia página.

Más decodificadores

Decodifica Base64 a un formato concreto.

Qué obtienes

Un decodificador Base64 que te dice qué ha encontrado.

La mayoría de los decodificadores online te devuelven un muro de caracteres y te dejan adivinar. Este identifica el contenido, corrige los errores de codificación habituales y muestra el resultado en el formato que de verdad te sirve.

Nada sale de tu dispositivo

Cada byte se decodifica con JavaScript en esta página. Sin subidas, sin peticiones y sin registros: compruébalo en la pestaña de red.

Detección automática del formato

PNG, JPEG, GIF, WebP, SVG, PDF, ZIP, MP4, JSON, XML y HTML se reconocen por sus bytes de firma y se etiquetan.

Vista previa de imágenes Base64

Decodifica una imagen y mírala al momento, con sus dimensiones reales en píxeles y su tamaño, y después descárgala como archivo.

Más de 20 juegos de caracteres

UTF-8, UTF-16, Latin-1, Windows-1250/1251/1252, Shift_JIS, GBK, Big5, KOI8-R y más, con detección automática.

Vista de volcado hexadecimal

La salida binaria se muestra como un volcado clásico de desplazamiento / hex / ASCII para inspeccionar cabeceras y bytes mágicos.

Compatible con JWT

Pega un JSON Web Token y la cabecera y la carga útil se muestran en una tabla, con las marcas de tiempo convertidas en fechas.

Entrada tolerante

El relleno que falta, los caracteres URL-safe «-» y «_», los espacios sueltos, el ajuste de línea MIME y las URI data: completas se gestionan solos.

Modo línea por línea

Decodifica de una vez una lista de valores Base64 independientes, con un resultado por línea: ideal para registros y exportaciones.

También codifica

Cambia a Codificar para texto o cualquier archivo, con ajuste MIME, el alfabeto URL-safe o una URI data: lista para usar.

Por qué este

La diferencia está en dónde se decodifica.

La mayoría de los decodificadores Base64 envían tu cadena a un servidor, la decodifican allí y te devuelven el resultado. Eso significa que tu token, tu clave o tu archivo han salido de tu equipo para una transformación que tu navegador hace en microsegundos. Este nunca hace esa petición.

Comparativa entre este decodificador Base64 y las herramientas Base64 online habituales basadas en servidor
Característica freebase64decode.com Decodificador online típico
Dónde se decodifican tus datos Siempre en la pestaña de tu navegador Se suben a un servidor
Juegos de caracteres Más de 20, decodificados sin conexión Solo en el servidor
Límite de tamaño de archivo Solo la memoria de tu dispositivo Normalmente 100 MB como máximo
Vista previa de imágenes decodificadas Integrada, con dimensiones No disponible
Volcado hexadecimal de la salida binaria Integrado No disponible
Vista de cabecera y carga útil de JWT Automática No disponible
Alfabeto URL-safe y reparación del relleno Automáticos Manuales
Detección de URI data: Automática Manual
Funciona sin conexión Sí, una vez cargada la página No
Anuncios y avisos de cookies Ninguno, y sin cookies de seguimiento Casi siempre

Hazlo en código

Decodificar Base64 en Python, JavaScript, Linux y más.

Cuando ya has comprobado un valor en el decodificador de arriba, normalmente necesitas lo mismo en código. Cada ejemplo está listo para copiar y pegar, y cubre lo que suele dar problemas: los juegos de caracteres, el alfabeto URL-safe y el relleno que falta.

Decodificar Base64 en Python

El módulo base64 de Python viene en la biblioteca estándar: no hay que instalar nada. b64decode siempre devuelve bytes, así que llama a .decode() cuando quieras un str.

import base64

# Base64 string -> text
encoded = "SGVsbG8sIHdvcmxkIQ=="
text = base64.b64decode(encoded).decode("utf-8")
print(text)                      # Hello, world!

# Reject anything that is not valid Base64 instead of silently skipping it
base64.b64decode(encoded, validate=True)

# URL-safe alphabet (RFC 4648 section 5): "-" and "_" instead of "+" and "/"
base64.urlsafe_b64decode("SGVsbG8_d29ybGQtMQ==")

# Unpadded input (JWTs, URL parameters) raises binascii.Error -- pad it first
def b64decode_any(s: str) -> bytes:
    s = s.replace("-", "+").replace("_", "/")
    return base64.b64decode(s + "=" * (-len(s) % 4))

# Base64 -> image file on disk
with open("logo.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

# Decode every line of a file separately
with open("encoded.txt") as f:
    for line in f:
        print(base64.b64decode(line.strip()).decode("utf-8"))

El mecanismo

Qué es Base64 y cómo lo invierte la decodificación.

Base64 reescribe bytes arbitrarios con 64 caracteres imprimibles (A–Z a–z 0–9 + /) para que los datos binarios sobrevivan en sistemas pensados para texto. Decodificar es hacerlo al revés: cada carácter se traduce a un valor de 6 bits, cuatro de ellos forman 24 bits y esos bits se vuelven a cortar en tres bytes. Es una codificación, no un cifrado, así que cualquiera puede hacerlo.

Ejemplo resuelto: TWFu → Man

Cómo los cuatro caracteres Base64 «TWFu» se decodifican en los tres bytes «Man»
Base64 T · W · F · u
Índice 19 · 22 · 5 · 46
Grupos de 6 bits 010011 010110 000101 101110
Recortados a 8 bits 01001101 01100001 01101110
Bytes 77 · 97 · 110
Texto Man

Los signos = finales son relleno, no datos: == significa que el último grupo tenía un byte y =, que tenía dos. La salida Base64 siempre ocupa aproximadamente un 33 % más que lo que representa.

El alfabeto Base64 (tabla de índices)

Cada carácter Base64 representa un número del 0 al 63. Para decodificar se busca cada carácter en esta tabla (RFC 4648, tabla 1). Base64 URL-safe es idéntico salvo que el 62 es -, el 63 es _ y = es relleno, no un valor.

Tabla de índices Base64: el valor de cada uno de los 64 caracteres
Valor Car. Valor Car. Valor Car. Valor Car.
0 A 16 Q 32 g 48 w
1 B 17 R 33 h 49 x
2 C 18 S 34 i 50 y
3 D 19 T 35 j 51 z
4 E 20 U 36 k 52 0
5 F 21 V 37 l 53 1
6 G 22 W 38 m 54 2
7 H 23 X 39 n 55 3
8 I 24 Y 40 o 56 4
9 J 25 Z 41 p 57 5
10 K 26 a 42 q 58 6
11 L 27 b 43 r 59 7
12 M 28 c 44 s 60 8
13 N 29 d 45 t 61 9
14 O 30 e 46 u 62 +
15 P 31 f 47 v 63 /

Dónde te encuentras Base64 en la práctica

Adjuntos de correo

MIME (RFC 2045) codifica los adjuntos en Base64 y corta la salida a 76 caracteres por línea. Los decodificadores ignoran los saltos de línea; este los elimina por ti.

URI data:

data:image/png;base64,… incrusta una imagen, una fuente o un SVG en HTML o CSS. Pega aquí la URI completa y el prefijo se detecta y se elimina automáticamente.

JSON Web Tokens

Cada uno de los tres segmentos de un JWT es base64url sin relleno. Pega un token y la cabecera y la carga útil se muestran en una tabla legible.

Autenticación HTTP Basic

Authorization: Basic lleva base64(usuario:contraseña). Decodificarlo cuesta un pegado, y por eso Basic solo es aceptable sobre HTTPS.

Configuración y secretos

Los Secrets de Kubernetes, los certificados PEM y las claves SSH guardan datos binarios en Base64 para que el archivo siga siendo texto. Decodificar es la forma de ver qué contienen.

API y bases de datos

Los blobs binarios viajan por JSON, XML y columnas de texto en Base64. La vista hex muestra los bytes reales, así que puedes reconocer el tipo de archivo por su firma.

Base64 estándar frente a URL-safe

La RFC 4648 define dos alfabetos. El estándar usa + y /, que tienen un significado especial dentro de una URL. La variante URL-safe (§5, a menudo llamada base64url) los cambia por - y _ y normalmente omite el relleno =. Este decodificador detecta cuál has pegado: una cadena que contiene - o _ se trata como URL-safe salvo que fuerces la opción.

Cómo decodificar una imagen Base64

Pega la URI data: completa, con el prefijo data:image/png;base64, incluido, o solo la parte codificada. El prefijo se elimina, se comprueban los bytes de firma y la imagen aparece en la pestaña Vista previa con sus dimensiones reales. Descargar la guarda como un archivo PNG, JPEG, GIF, WebP o SVG auténtico. Si la vista previa queda en blanco, abre la pestaña Hex y busca una firma conocida como 89 50 4e 47 (PNG) o ff d8 ff (JPEG): si falta, la cadena está truncada.

Seis errores de decodificación y qué significan

«Carácter no válido en la posición N»

Hay algo fuera del alfabeto Base64: normalmente una comilla suelta, unos puntos suspensivos de una copia truncada o un carácter URL-safe con la decodificación estricta forzada.

La longitud no es múltiplo de 4

Se ha eliminado el relleno. Activa Reparar relleno; si sobra exactamente un carácter, la cadena está realmente truncada y no se puede recuperar.

Mojibake: é en lugar de é

Los bytes se decodificaron con el juego de caracteres equivocado. Prueba primero UTF-8 y después Windows-1252 para texto que venga de software antiguo de Windows.

Símbolos ilegibles por todas partes

El contenido es binario, no texto. Cambia a la pestaña Hex o Vista previa y descárgalo como archivo en lugar de copiar el texto.

El resultado es más Base64

El valor se codificó dos veces. Pulsa «Enviar a la entrada» para volver a meter el resultado y decodificarlo otra vez.

Base64 no es cifrado

Cualquiera puede decodificarlo con un pegado. Si un secreto está «protegido» solo con Base64, considéralo expuesto y cámbialo.

Preguntas

Decodificar Base64: preguntas frecuentes.

¿Qué significa decodificar Base64?

Decodificar Base64 es convertir una cadena codificada en Base64 de nuevo en los bytes originales que representa. La codificación Base64 toma datos binarios y los reescribe con 64 caracteres ASCII imprimibles para que viajen sin problemas por sistemas que solo manejan texto, como el correo electrónico o JSON. La decodificación invierte esa correspondencia: cada cuatro caracteres Base64 vuelven a ser tres bytes originales.

¿Cómo decodifico una cadena Base64 online?

Pega la cadena Base64 en el cuadro de entrada de la parte superior de esta página. El resultado decodificado aparece al instante en el cuadro de salida de al lado: no hay botón que pulsar ni esperas. Después puedes copiar el texto, descargarlo como archivo, verlo como volcado hexadecimal o previsualizarlo si el resultado es una imagen.

¿Es seguro usar este decodificador Base64 con datos sensibles?

Sí. Toda la decodificación se hace con JavaScript dentro de tu propio navegador, así que tu entrada nunca se sube, transmite, registra ni almacena. Puedes comprobarlo abriendo las herramientas de desarrollo y mirando la pestaña de red mientras decodificas, o desconectándote de internet: la herramienta sigue funcionando una vez cargada la página.

¿Base64 es un cifrado? ¿Es seguro?

No. Base64 es una codificación, no un cifrado. No ofrece ninguna seguridad porque cualquiera puede revertirla sin clave ni contraseña, que es justo lo que hace esta página. Nunca uses Base64 para proteger contraseñas, tokens o datos personales. Usa un cifrado real como AES, y TLS para los datos en tránsito.

¿Cómo decodifico una imagen Base64?

Pega la URI data: completa, incluido el prefijo data:image/png;base64, o solo la parte codificada. El prefijo se elimina automáticamente y se comprueba la firma de la imagen, de modo que la imagen aparece en la pestaña Vista previa junto con sus dimensiones en píxeles y su tamaño. Usa el botón Descargar para guardarla como un archivo PNG, JPEG, GIF, WebP o SVG real.

¿Por qué el texto decodificado muestra caracteres raros como é o �?

Es un problema de juego de caracteres: los bytes son correctos, pero se están interpretando con la codificación equivocada. Pon primero la opción de juego de caracteres en UTF-8. Si los datos vienen de una aplicación antigua de Windows, prueba Windows-1252 o ISO-8859-1. Con Detección automática se intenta primero UTF-8 estricto y, si falla, Windows-1252.

¿Qué significa «Base64 no válido» y cómo lo soluciono?

Significa que la entrada contiene un carácter fuera del alfabeto Base64 o que su longitud no es múltiplo de cuatro. Las causas habituales son una copia truncada, unas comillas o unos puntos suspensivos que se han colado con el texto, o una cadena URL-safe con - y _ . Deja activadas las opciones Quitar espacios y Reparar relleno y el decodificador corregirá la mayoría de estos casos automáticamente.

¿Qué diferencia hay entre Base64 estándar y Base64 URL-safe?

Base64 estándar (RFC 4648, sección 4) usa + y / como últimos dos caracteres, y ambos tienen un significado especial dentro de una URL. Base64 URL-safe, también llamado Base64url (RFC 4648, sección 5), los sustituye por - y _ y normalmente omite el relleno =. Este decodificador detecta qué variante has pegado y la convierte automáticamente.

¿Puedo decodificar un archivo Base64?

Sí. Pulsa el botón Archivo o arrastra un archivo al cuadro de entrada. Tu navegador lee el archivo localmente, lo decodifica en tu propio dispositivo y puedes descargar el resultado con la extensión correcta. Como no se sube nada, no hay un límite de tamaño impuesto: el límite práctico es la memoria de tu dispositivo, no la cuota de un servidor.

¿Cómo decodifico Base64 en Python?

Usa la biblioteca estándar: import base64 y después base64.b64decode("SGVsbG8=").decode("utf-8"). b64decode siempre devuelve bytes, así que llama a .decode() para obtener una cadena. Usa base64.urlsafe_b64decode para el alfabeto URL-safe y pasa validate=True si quieres que una entrada mal formada lance un error en lugar de ignorarse en silencio.

¿Cómo decodifico Base64 en Linux o Bash?

Pasa la cadena al comando base64: echo "SGVsbG8=" | base64 --decode. Usa printf %s en lugar de echo si importa el salto de línea final, base64 -d archivo > salida.bin para archivos y base64 -di para ignorar el ajuste de línea. La forma larga --decode funciona tanto en Linux como en macOS; las versiones antiguas de macOS solo aceptan -D en mayúscula como opción corta.

¿Cómo decodifico Base64 en Windows o PowerShell?

En PowerShell ejecuta [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8=")). Para convertir un archivo Base64 de nuevo en un archivo binario, léelo con Get-Content -Raw, pásalo a [Convert]::FromBase64String y guarda los bytes con [IO.File]::WriteAllBytes. Desde el Símbolo del sistema clásico, certutil -decode codificado.txt decodificado.bin hace lo mismo y viene con todas las versiones de Windows.

¿Cómo decodifico Base64 en JavaScript?

En el navegador, atob() decodifica a una cadena binaria, pero por sí sola estropea el texto no ASCII. Convierte el resultado en bytes y pásalo por TextDecoder: new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0))). En Node.js usa Buffer.from(b64, "base64").toString("utf8"), o la codificación "base64url" para entradas URL-safe.

¿Puedo decodificar un JWT aquí?

Sí. Pega un JSON Web Token y la cabecera y la carga útil se muestran automáticamente en una tabla legible, con las marcas de tiempo de emisión y caducidad convertidas en fechas. La firma se muestra pero no se verifica, porque para verificarla hace falta la clave secreta o pública, que esta herramienta nunca pide y que tampoco podría usar, ya que nada sale de tu navegador.

¿Esta herramienta cuesta algo o requiere una cuenta?

No. Es totalmente gratuita, sin registro, sin cuenta y sin límites de uso. Es una página estática, así que no hay ningún servidor procesando tus datos ni nada que cobrarte.

¿Por qué la salida Base64 es más grande que los datos originales?

Base64 representa cada tres bytes de entrada con cuatro caracteres de salida, así que la forma codificada ocupa aproximadamente un 33 % más, además del relleno y los posibles saltos de línea. Ese aumento es el precio de poder mover datos binarios por canales que solo admiten texto.