Guia de Referência Rápida para Codificação e Decodificação Base64: Exemplos de Comandos no Windows, Linux e Mac
Codifique e decodifique arquivos em Base64 no Windows, Linux e Mac.
Este guia mostra como codificar e decodificar arquivos e strings para Base64 da linha de comando no Windows, Linux e macOS — sem necessidade de ferramentas extras.

Este guia faz parte da Ferramentas para Desenvolvedores: O Guia Completo de Fluxos de Trabalho de Desenvolvimento Moderno.
Base64 converte dados binários em texto ASCII usando 64 caracteres (A–Z, a–z, 0–9, +, /). É amplamente utilizado para codificar credenciais em HTTP Basic Auth, payloads JWT (veja Decodificar e imprimir token JWT), segredos do Kubernetes, URIs de dados em HTML/CSS e incorporação de dados binários em JSON ou variáveis de ambiente. Usar a linha de comando mantém os dados sensíveis locais e é scriptável em pipelines de CI/CD.
Codificação e Decodificação Base64 no Windows
O Windows não vem com um comando base64 dedicado, mas você pode usar ferramentas nativas.
Usando o Prompt de Comando com Certutil
-
Abra o Prompt de Comando.
-
Codifique um arquivo para Base64:
certutil -encode input.bin output.b64Substitua
input.binpelo caminho do seu arquivo eoutput.b64pelo nome de arquivo de saída desejado. -
Para imprimir o Base64 no console sem salvar um arquivo temporário:
certutil -encode input.bin tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64findstr /v /c:-remove as linhas-----BEGIN CERTIFICATE-----e-----END CERTIFICATE-----que o certutil adiciona.
Decodificar Base64 no Windows (Certutil)
certutil -decode encoded.b64 decoded.bin
Usando PowerShell para Codificar e Decodificar
Codificar um arquivo:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("C:\path\to\file.bin"))
Codificar uma string (UTF-8):
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("Hello, World!"))
# Saída: SGVsbG8sIFdvcmxkIQ==
Decodificar Base64 para string:
[System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8sIFdvcmxkIQ=="))
# Saída: Hello, World!
Decodificar Base64 para arquivo:
[System.IO.File]::WriteAllBytes("decoded.bin", [Convert]::FromBase64String((Get-Content encoded.b64 -Raw)))
Estes métodos funcionam sem instalar software adicional. Para mais automação de shell, veja o Guia de Referência PowerShell.
Codificação e Decodificação Base64 no Linux
O comando base64 vem pré-instalado na maioria das distribuições Linux (GNU coreutils).
Sintaxe Básica
base64 [OPÇÕES] [ARQUIVO]
Sem arquivo ou quando o arquivo é -, ele lê da entrada padrão.
Codificar um Arquivo para Base64
base64 input_file > output_file
Exemplo:
base64 myfile.txt > encoded.txt
Para imprimir o conteúdo codificado no terminal:
base64 myfile.txt
Codificar uma String para Base64
echo -n "Hello, World!" | base64
# Saída: SGVsbG8sIFdvcmxkIQ==
Use -n com echo para evitar uma quebra de linha final. Para decodificar strings em JWTs, veja Decodificar e imprimir token JWT.
Desativar Quebra de Linha (-w 0)
Por padrão, base64 quebra a saída a cada 76 caracteres. Para JSON, variáveis de ambiente, URLs ou uso com Terraform base64encode, desative a quebra de linha:
base64 -w 0 input_file > output_file
Decodificar Base64 no Linux
base64 -d encoded_file > decoded_file
# ou
base64 --decode encoded_file > decoded_file
Exemplo:
echo "SGVsbG8sIFdvcmxkIQ==" | base64 -d
# Saída: Hello, World!
Alternativa: OpenSSL
echo -n "data" | openssl base64 -e
echo "ZGF0YQ==" | openssl base64 -d
Para mais fluxos de trabalho de linha de comando, o Guia de Referência Bash cobre redirecionamento e scripting.
Codificação e Decodificação Base64 no macOS
O macOS inclui um comando base64 semelhante ao do Linux, mas requer a flag -i para entrada de arquivo.
Codificar um Arquivo para Base64
base64 -i input_file > output_file
Exemplo:
base64 -i myfile.txt > encoded.txt
Para imprimir no terminal:
base64 -i myfile.txt
Codificar e Copiar para a Área de Transferência
base64 -i input_file | pbcopy
Decodificar Base64 no Mac
base64 -D -i encoded_file > decoded_file
A flag -D ativa o modo de decodificação; -i especifica o arquivo de entrada. Estes comandos funcionam em todas as versões modernas do macOS a partir da 10.7.
Referência do Comando base64 no Linux
Saída completa de ajuda para a ferramenta GNU base64:
$ base64 --help
Uso: base64 [OPÇÕES]... [ARQUIVO]
Codifica ou decodifica ARQUIVO, ou entrada padrão, para saída padrão.
Sem ARQUIVO, ou quando ARQUIVO é -, lê a entrada padrão.
Argumentos obrigatórios para opções longas são obrigatórios para opções curtas também.
-d, --decode decodificar dados
-i, --ignore-garbage ao decodificar, ignora caracteres não alfabéticos
-w, --wrap=COLS quebra linhas codificadas após COLS caracteres (padrão 76).
Use 0 para desativar a quebra de linha
--help exibe esta ajuda e sai
--version exibe informações de versão e sai
Os dados são codificados conforme descrito para o alfabeto base64 na RFC 4648.
Ao decodificar, a entrada pode conter quebras de linha além dos bytes do
alfabeto base64 formal. Use --ignore-garbage para tentar recuperar
qualquer outro byte não alfabético no stream codificado.
...
Casos de Uso Comuns
| Caso de uso | Comando / abordagem |
|---|---|
| Cabeçalho/payload JWT | Decodificar com base64 -d ou jq — veja Decodificar e imprimir token JWT |
| HTTP Basic Auth | echo -n "user:pass" | base64 -w 0 para Authorization: Basic <result> |
| Segredo do Kubernetes | kubectl create secret generic mysecret --from-literal=key=$(base64 -w 0 file.bin) |
| cURL com Basic Auth | Use -u user:pass ou -H "Authorization: Basic $(echo -n user:pass | base64 -w 0)" — veja Guia de Referência cURL |
| Data URI em HTML | data:image/png;base64,$(base64 -w 0 image.png) |