Base64 Encode Decode: esempi di comandi per Windows, Linux e Mac
Codifica e decodifica file in Base64 su Windows, Linux e Mac.
Questa scheda di riferimento illustra come codificare e decodificare file e stringhe in Base64 da riga di comando su Windows, Linux e macOS — senza necessità di strumenti aggiuntivi.

Questa guida fa parte di Strumenti per Sviluppatori: La Guida Completa ai Flussi di Lavoro Moderni.
Base64 converte i dati binari in testo ASCII utilizzando 64 caratteri (A–Z, a–z, 0–9, +, /). È ampiamente utilizzato per codificare le credenziali in HTTP Basic Auth, payload JWT (vedi Decodifica e stampa token JWT), segreti Kubernetes, URI dati in HTML/CSS e l’incorporamento di dati binari in JSON o variabili di ambiente. Utilizzare la riga di comando mantiene i dati sensibili in locale ed è automatizzabile nelle pipeline CI/CD.
Codifica e Decodifica Base64 su Windows
Windows non include un comando base64 dedicato, ma è possibile utilizzare strumenti nativi.
Utilizzo di Command Prompt con Certutil
-
Apri il Prompt dei Comandi.
-
Codifica un file in Base64:
certutil -encode input.bin output.b64Sostituisci
input.bincon il percorso del tuo file eoutput.b64con il nome del file di output desiderato. -
Per stampare il Base64 sulla console senza salvare un file temporaneo:
certutil -encode input.bin tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64findstr /v /c:-rimuove le righe-----BEGIN CERTIFICATE-----e-----END CERTIFICATE-----aggiunte da certutil.
Decodifica Base64 su Windows (Certutil)
certutil -decode encoded.b64 decoded.bin
Utilizzo di PowerShell per Codificare e Decodificare
Codifica un file:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\file.bin"))
Codifica una stringa (UTF-8):
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("Hello, World!"))
# Output: SGVsbG8sIFdvcmxkIQ==
Decodifica Base64 in stringa:
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8sIFdvcmxkIQ=="))
# Output: Hello, World!
Decodifica Base64 in file:
[System.IO.File]::WriteAllBytes("decoded.bin", [Convert]::FromBase64String((Get-Content encoded.b64 -Raw)))
Questi metodi funzionano senza installare software aggiuntivo. Per ulteriori automazioni di shell, consulta la Scheda di Riferimento PowerShell.
Codifica e Decodifica Base64 su Linux
Il comando base64 è preinstallato sulla maggior parte delle distribuzioni Linux (GNU coreutils).
Sintassi di Base
base64 [OPZIONI] [FILE]
Senza file o quando il file è -, legge dall’input standard.
Codifica un File in Base64
base64 input_file > output_file
Esempio:
base64 myfile.txt > encoded.txt
Per stampare il contenuto codificato sul terminale:
base64 myfile.txt
Codifica una Stringa in Base64
echo -n "Hello, World!" | base64
# Output: SGVsbG8sIFdvcmxkIQ==
Utilizza -n con echo per evitare un newline finale. Per la decodifica di stringhe nei JWT, vedi Decodifica e stampa token JWT.
Disabilita l’Involucro delle Righe (-w 0)
Di default, base64 avvolge l’output a 76 caratteri. Per JSON, variabili di ambiente, URL o utilizzi come Terraform base64encode, disabilita l’avvolgimento:
base64 -w 0 input_file > output_file
Decodifica Base64 su Linux
base64 -d encoded_file > decoded_file
# oppure
base64 --decode encoded_file > decoded_file
Esempio:
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Output: Hello, World!
Alternativa: OpenSSL
echo -n "data" | openssl base64 -e
echo "ZGF0YQ==" | openssl base64 -d
Per ulteriori flussi di lavoro da riga di comando, la Scheda di Riferimento Bash copre piping e scripting.
Codifica e Decodifica Base64 su macOS
macOS include un comando base64 simile a Linux, ma richiede la flag -i per l’input da file.
Codifica un File in Base64
base64 -i input_file > output_file
Esempio:
base64 -i myfile.txt > encoded.txt
Per stampare sul terminale:
base64 -i myfile.txt
Codifica e Copia negli Appunti
base64 -i input_file | pbcopy
Decodifica Base64 su Mac
base64 -D -i encoded_file > decoded_file
La flag -D abilita la modalità di decodifica; -i specifica il file di input. Questi comandi funzionano su tutte le versioni moderne di macOS a partire dalla 10.7.
Riferimento Comando base64 su Linux
Output completo dell’aiuto per lo strumento GNU base64:
$ base64 --help
Usage: base64 [OPTION]... [FILE]
Base64 encode or decode FILE, or standard input, to standard output.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-d, --decode decode data
-i, --ignore-garbage when decoding, ignore non-alphabet characters
-w, --wrap=COLS wrap encoded lines after COLS character (default 76).
Use 0 to disable line wrapping
--help display this help and exit
--version output version information and exit
The data are encoded as described for the base64 alphabet in RFC 4648.
When decoding, the input may contain newlines in addition to the bytes of
the formal base64 alphabet. Use --ignore-garbage to attempt to recover
from any other non-alphabet bytes in the encoded stream.
...
Casi d’Uso Comuni
| Caso d’uso | Comando / approccio |
|---|---|
| Header/Payload JWT | Decodifica con base64 -d o jq — vedi Decodifica e stampa token JWT |
| HTTP Basic Auth | echo -n "user:pass" | base64 -w 0 per Authorization: Basic <result> |
| Segreto Kubernetes | kubectl create secret generic mysecret --from-literal=key=$(base64 -w 0 file.bin) |
| cURL con Basic Auth | Usa -u user:pass o -H "Authorization: Basic $(echo -n user:pass | base64 -w 0)" — vedi Scheda di Riferimento cURL |
| Data URI in HTML | data:image/png;base64,$(base64 -w 0 image.png) |