Conversor de Base64 para arquivo

Cole uma string Base64 ou um data URI para reconstruir o arquivo original. A ferramenta reconhece o formato pelos primeiros bytes, mostra uma prévia quando possível e salva o arquivo com a extensão correta.

Funciona inteiramente no seu navegador. Nada é enviado.

Como usar

  1. Cole a string Base64 ou o data URI completo na caixa de entrada. Espaços e quebras de linha não importam.
  2. Confira o tipo detectado e o tamanho do arquivo. Imagens, PDFs, áudio, vídeo e texto aparecem em uma prévia.
  3. Baixe o arquivo. Ele é salvo com um nome e uma extensão compatíveis com o tipo detectado.

Como o tipo de arquivo é detectado

Um texto Base64 carrega bytes, não um nome de arquivo. A menos que você cole um data URI com tipo MIME, nada na string indica se ela contém um PDF, um arquivo ZIP ou um som. Por isso, a ferramenta decodifica os dados e examina os primeiros bytes: a assinatura de arquivo, ou "bytes mágicos", que a maioria dos formatos coloca logo no início. Como esses bytes são fixos, o texto Base64 de cada formato também começa de um jeito reconhecível:

FormatoPrimeiros bytesO Base64 começa com
PDF%PDFJVBER
PNG89 50 4E 47iVBORw0KGgo
JPEGFF D8 FF/9j/
GIFGIF8R0lGOD
ZIP (também DOCX, XLSX, JAR)PK 03 04UEsDB
MP3 com tag ID3ID3SUQz
WAV, WebP, AVI (RIFF)RIFFUklGR

Quando o arquivo decodificado não abre

A decodificação Base64 não tem perdas, então um arquivo corrompido quase sempre significa que a entrada não era o que você esperava. Verifique estas causas, nesta ordem:

  • Entrada truncada. Arquivos de log, terminais, células de planilha e aplicativos de chat costumam cortar strings longas. Texto faltando no final gera um arquivo curto demais, e a maioria dos formatos então se recusa a abrir. Se você souber o tamanho original, compare-o com o tamanho decodificado.
  • Caracteres a mais. Aspas, vírgulas ou um nome de campo copiados junto com o valor, ou sequências de escape como \/ e \n vindas de uma string JSON, não fazem parte do Base64. Copie apenas o valor em si.
  • Outra codificação ou variante. Hex, Base32, Base85 ou um alfabeto personalizado podem parecer semelhantes à primeira vista, mas viram lixo quando decodificados como Base64. O Detector de codificação testa todos os decodificadores e mostra qual deles se encaixa.
  • Nem sequer é um arquivo. Se o resultado for detectado como texto simples, a string era Base64 de um texto: JSON, um token ou outra camada de Base64. Leia-o com o decodificador Base64 e decodifique mais uma vez se a saída for Base64 de novo.

O Validador Base64 lista os caracteres inválidos com suas posições e aponta problemas de preenchimento, o que ajuda a localizar um trecho danificado.

Decodifique Base64 para arquivo no código

# Python
import base64
with open('output.bin', 'wb') as f:
    f.write(base64.b64decode(data))

// Node.js
fs.writeFileSync('output.bin', Buffer.from(data, 'base64'));

# Linux
base64 -d input.txt > output.bin

# macOS
base64 -D -i input.txt -o output.bin

# Windows PowerShell
[IO.File]::WriteAllBytes("C:\files\output.bin", [Convert]::FromBase64String((Get-Content input.txt -Raw)))

Perguntas frequentes

Quais tipos de arquivo podem ser detectados?

Formatos comuns com assinatura clara: PDF e arquivos compactados ZIP, GZIP, 7z e RAR; PNG, JPEG, GIF, WebP e outras imagens; áudio MP3, WAV, OGG, FLAC e M4A; vídeo MP4 e WebM; fontes WOFF, WOFF2, TTF e OTF; WebAssembly e outros. JSON, XML, HTML e texto simples também são reconhecidos. Formatos sem assinatura não podem ser identificados; se você souber o tipo real, renomeie o arquivo baixado.

Por que meu arquivo do Word ou do Excel foi detectado como ZIP?

Arquivos DOCX, XLSX e PPTX, assim como EPUB e JAR, são arquivos ZIP com uma estrutura de pastas específica e começam com os mesmos bytes mágicos de qualquer arquivo ZIP. Os bytes decodificados estão corretos: renomeie o download para .docx, .xlsx ou a extensão de que você precisar, e ele abrirá normalmente.

Posso colar um data URI?
Sim. Cole a string completa, incluindo o prefixo data:...;base64,, ou apenas a parte em Base64. Em ambos os casos, o tipo é conferido com base nos bytes decodificados.
Por que o arquivo decodificado é menor que o texto Base64?

O Base64 usa 4 caracteres para cada 3 bytes, então o arquivo tem cerca de três quartos do comprimento do texto. Se ele for muito menor do que o arquivo que você esperava, a entrada provavelmente foi cortada.

Meus dados são enviados para algum lugar?

Não. A decodificação, a detecção de tipo e a prévia são executadas no seu navegador, e o download é criado no seu dispositivo. Nada é enviado.