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
JSON Web Token
Opciones
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
- 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.
- 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.
- 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.
- Base64 a imagen Previsualiza un PNG, JPEG, GIF, WebP o SVG en Base64 y guárdalo como un archivo de imagen real.
- Base64 a PDF Convierte una cadena Base64 de una API o un correo en un PDF que puedes ver y guardar.
- Base64 a hexadecimal Ve cada byte decodificado en un volcado hex o cópialo como una cadena hexadecimal continua.
- Decodificar Base64URL Decodifica Base64 URL-safe y JSON Web Tokens, con el relleno que falta reparado.
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.
| 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")) Decodificar Base64 en JavaScript
atob() devuelve una cadena binaria, no texto. Por sí sola estropea cualquier carácter no ASCII, así que pasa los bytes por TextDecoder: es exactamente lo que hace esta página.
// ── Browser ──────────────────────────────────────────────
// Quick and dirty: correct only for pure ASCII
atob("SGVsbG8sIHdvcmxkIQ=="); // "Hello, world!"
// Correct for any UTF-8 payload
function base64Decode(b64) {
const bin = atob(b64);
const bytes = Uint8Array.from(bin, (ch) => ch.charCodeAt(0));
return new TextDecoder().decode(bytes);
}
base64Decode("SGVsbMO2LCB3w7ZybGQh"); // "Hellö, wörld!"
// Encoding back again
function base64Encode(str) {
const bytes = new TextEncoder().encode(str);
return btoa(String.fromCharCode(...bytes));
}
// URL-safe -> standard before decoding
const std = urlSafe.replace(/-/g, "+").replace(/_/g, "/");
// ── Node.js ──────────────────────────────────────────────
Buffer.from("SGVsbG8sIHdvcmxkIQ==", "base64").toString("utf8");
Buffer.from(token, "base64url").toString("utf8"); // Node 16+
Buffer.from("Hello, world!").toString("base64"); Decodificar Base64 en Linux desde la línea de comandos
GNU coreutils incluye base64 en todas las distribuciones Linux. Cuidado con las dos trampas clásicas: echo añade un salto de línea, y las versiones antiguas de macOS solo aceptan -D como opción corta; --decode funciona en todas partes.
# Decode a string
echo "SGVsbG8sIHdvcmxkIQ==" | base64 --decode
# printf avoids the trailing newline echo adds
printf '%s' "SGVsbG8sIHdvcmxkIQ==" | base64 -d
# Decode a file into a binary file
base64 -d encoded.txt > decoded.png
# -i ignores line wrapping and other non-alphabet characters
base64 -di encoded.txt > decoded.bin
# Older macOS releases only know a capital -D (--decode works on all of them)
base64 -D <<< "SGVsbG8sIHdvcmxkIQ=="
# Portable everywhere OpenSSL exists
echo "SGVsbG8sIHdvcmxkIQ==" | openssl base64 -d
# Encode, wrapping at 76 columns like MIME (-w 0 disables wrapping)
base64 -w 0 photo.jpg > photo.b64
# Decode a JWT payload (URL-safe, unpadded) with jq
cut -d. -f2 <<< "$JWT" | tr '_-' '/+' | base64 -d 2>/dev/null | jq . Decodificar Base64 en PHP
Pasa true como segundo argumento para que base64_decode() devuelva false con una entrada mal formada en lugar de descartar en silencio los caracteres incorrectos.
<?php
$text = base64_decode('SGVsbG8sIHdvcmxkIQ==');
// Strict mode: false on invalid input
$text = base64_decode($encoded, true);
if ($text === false) {
throw new InvalidArgumentException('Not valid Base64');
}
// URL-safe decode with padding repaired
function base64UrlDecode(string $s): string {
$s = strtr($s, '-_', '+/');
return base64_decode($s . str_repeat('=', (4 - strlen($s) % 4) % 4));
}
// Base64 -> image file
file_put_contents('logo.png', base64_decode($imageB64));
// Encode a file as a data: URI for inline CSS or HTML
$uri = 'data:image/png;base64,' . base64_encode(file_get_contents('logo.png')); Decodificar Base64 en Java
java.util.Base64 viene incluido desde Java 8 y ofrece tres decodificadores: básico, URL-safe y MIME (que tolera saltos de línea).
import java.nio.charset.StandardCharsets;
import java.util.Base64;
byte[] bytes = Base64.getDecoder().decode("SGVsbG8sIHdvcmxkIQ==");
String text = new String(bytes, StandardCharsets.UTF_8);
// URL-safe alphabet
Base64.getUrlDecoder().decode(token);
// MIME decoder: ignores line breaks and other stray characters
Base64.getMimeDecoder().decode(wrappedInput);
// Encode
String encoded = Base64.getEncoder()
.encodeToString("Hello, world!".getBytes(StandardCharsets.UTF_8));
// Base64 -> file
java.nio.file.Files.write(java.nio.file.Path.of("logo.png"),
Base64.getDecoder().decode(imageB64)); Decodificar Base64 en Go
El paquete encoding/base64 de Go hace explícita la elección del relleno: StdEncoding y URLEncoding lo esperan; las variantes Raw, no.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data, err := base64.StdEncoding.DecodeString("SGVsbG8sIHdvcmxkIQ==")
if err != nil {
panic(err)
}
fmt.Println(string(data)) // Hello, world!
// URL-safe, no padding -- the JWT flavour
base64.RawURLEncoding.DecodeString("SGVsbG8sIHdvcmxkIQ")
// Encode
fmt.Println(base64.StdEncoding.EncodeToString([]byte("Hello, world!")))
} Decodificar Base64 en C#
Usa TryFromBase64String cuando la entrada venga de un usuario: evita la excepción que lanza Convert.FromBase64String con una entrada incorrecta.
using System;
using System.Text;
byte[] bytes = Convert.FromBase64String("SGVsbG8sIHdvcmxkIQ==");
string text = Encoding.UTF8.GetString(bytes);
// Non-throwing variant
Span<byte> buffer = new byte[input.Length];
if (Convert.TryFromBase64String(input, buffer, out int written))
{
text = Encoding.UTF8.GetString(buffer[..written]);
}
// URL-safe input
string std = input.Replace('-', '+').Replace('_', '/')
.PadRight(input.Length + (4 - input.Length % 4) % 4, '=');
// Encode
Convert.ToBase64String(Encoding.UTF8.GetBytes("Hello, world!")); Decodificar Base64 en Windows y PowerShell
En Windows no hace falta instalar nada. PowerShell llama directamente a .NET, donde FromBase64String ignora espacios y saltos de línea; desde el Símbolo del sistema, certutil decodifica archivos.
# ── PowerShell (Windows, macOS, Linux) ──────────────────
$b64 = "SGVsbG8sIHdvcmxkIQ=="
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($b64)) # Hello, world!
# Base64 file -> binary file (.NET needs an absolute path)
$bytes = [Convert]::FromBase64String((Get-Content encoded.txt -Raw))
[IO.File]::WriteAllBytes("$PWD\decoded.png", $bytes)
# Encode
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("Hello, world!"))
# ── Command Prompt (cmd.exe) ─────────────────────────────
certutil -decode encoded.txt decoded.png
# certutil -encode wraps its output in BEGIN/END CERTIFICATE lines
certutil -encode photo.jpg photo.b64 Decodificar Base64 en Ruby y SQL
Ruby y los principales dialectos SQL pueden decodificar directamente. En Ruby, strict_decode64 rechaza los espacios y decode64 los tolera.
# ── Ruby ─────────────────────────────────────────────────
require "base64"
Base64.decode64("SGVsbG8sIHdvcmxkIQ==") # forgiving
Base64.strict_decode64("SGVsbG8sIHdvcmxkIQ==") # raises on stray characters
Base64.urlsafe_decode64(token)
# ── SQL ──────────────────────────────────────────────────
# MySQL 5.6+ SELECT FROM_BASE64('SGVsbG8sIHdvcmxkIQ==');
# PostgreSQL SELECT convert_from(decode('SGVsbG8=', 'base64'), 'UTF8');
# SQL Server SELECT CAST('' AS xml).value('xs:base64Binary("SGVsbG8=")', 'varbinary(max)');
# BigQuery SELECT SAFE_CONVERT_BYTES_TO_STRING(FROM_BASE64('SGVsbG8=')); 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
| 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.
| 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.