Konverter Base64 ke File

Tempel string Base64 atau data URI untuk menyusun kembali file aslinya. Alat ini mengenali format dari byte pertamanya, menampilkan pratinjau jika memungkinkan, dan menyimpannya dengan ekstensi yang tepat.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Tempel string Base64 atau data URI lengkap ke kotak masukan. Spasi dan jeda baris tidak menjadi masalah.
  2. Periksa tipe file yang terdeteksi dan ukurannya. Gambar, PDF, audio, video, dan teks ditampilkan dalam pratinjau.
  3. Unduh filenya. File disimpan dengan nama dan ekstensi yang sesuai dengan tipe yang terdeteksi.

Cara tipe file dideteksi

Teks Base64 membawa byte, bukan nama file. Kecuali Anda menempelkan data URI yang berisi tipe MIME, tidak ada apa pun dalam string yang menunjukkan apakah isinya PDF, arsip ZIP, atau suara. Karena itu, alat ini mendekode data lalu memeriksa beberapa byte pertamanya, yaitu signature file atau "magic bytes" yang diletakkan sebagian besar format di bagian paling awal. Karena byte tersebut selalu sama, teks Base64 setiap format juga diawali dengan pola yang mudah dikenali:

FormatByte pertamaBase64 diawali dengan
PDF%PDFJVBER
PNG89 50 4E 47iVBORw0KGgo
JPEGFF D8 FF/9j/
GIFGIF8R0lGOD
ZIP (juga DOCX, XLSX, JAR)PK 03 04UEsDB
MP3 dengan tag ID3ID3SUQz
WAV, WebP, AVI (RIFF)RIFFUklGR

Jika file hasil dekode tidak bisa dibuka

Dekode Base64 bersifat lossless, jadi file yang rusak hampir selalu berarti masukannya tidak seperti yang Anda kira. Periksa penyebab berikut secara berurutan:

  • Masukan terpotong. File log, terminal, sel spreadsheet, dan aplikasi chat sering memotong string yang panjang. Teks yang hilang di bagian akhir menghasilkan file yang terlalu pendek, dan sebagian besar format kemudian tidak dapat dibuka. Jika Anda mengetahui ukuran aslinya, bandingkan dengan ukuran hasil dekode.
  • Karakter tambahan. Tanda kutip, koma, atau nama kolom yang ikut tersalin bersama nilainya, maupun escape sequence seperti \/ dan \n dari string JSON, bukan bagian dari Base64. Salin nilainya saja.
  • Pengodean atau varian lain. Hex, Base32, Base85, atau alfabet kustom bisa tampak mirip sekilas, tetapi menjadi data acak saat didekode sebagai Base64. Pendeteksi Pengodean mencoba setiap decoder dan menunjukkan mana yang cocok.
  • Sama sekali bukan file. Jika hasilnya terdeteksi sebagai teks biasa, string tersebut adalah Base64 dari teks: JSON, token, atau lapisan Base64 lainnya. Baca dengan decoder Base64, lalu dekode sekali lagi jika keluarannya kembali berupa Base64.

Validator Base64 mencantumkan karakter yang tidak valid beserta posisinya dan melaporkan masalah padding, sehingga membantu menemukan bagian yang rusak.

Mendekode Base64 menjadi file dalam kode

# 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)))

Pertanyaan yang sering diajukan

Tipe file apa saja yang dapat dideteksi?

Format umum yang memiliki signature jelas: PDF, serta arsip ZIP, GZIP, 7z, dan RAR; gambar PNG, JPEG, GIF, WebP, dan lainnya; audio MP3, WAV, OGG, FLAC, dan M4A; video MP4 dan WebM; font WOFF, WOFF2, TTF, dan OTF; WebAssembly, dan masih banyak lagi. JSON, XML, HTML, dan teks biasa juga dikenali. Format tanpa signature tidak dapat diidentifikasi, jadi jika Anda tahu tipe sebenarnya, ganti nama file yang diunduh.

Mengapa file Word atau Excel saya terdeteksi sebagai ZIP?

File DOCX, XLSX, dan PPTX, seperti halnya EPUB dan JAR, adalah arsip ZIP dengan struktur folder tertentu di dalamnya, dan diawali dengan magic bytes yang sama seperti file ZIP lainnya. Byte hasil dekodenya sudah benar: ganti nama file unduhan menjadi .docx, .xlsx, atau ekstensi lain yang Anda perlukan, dan file akan terbuka seperti biasa.

Bisakah saya menempelkan data URI?
Bisa. Tempel string lengkap, termasuk awalan data:...;base64,, atau tempel bagian Base64-nya saja. Bagaimanapun caranya, tipe file tetap diperiksa berdasarkan byte hasil dekode.
Mengapa file hasil dekode lebih kecil daripada teks Base64?

Base64 memakai 4 karakter untuk setiap 3 byte, sehingga ukuran file sekitar tiga perempat dari panjang teksnya. Jika file jauh lebih kecil daripada yang Anda harapkan, kemungkinan besar masukannya terpotong.

Apakah data saya dikirim ke mana pun?

Tidak. Dekode, deteksi tipe, dan pratinjau semuanya berjalan di browser Anda, dan file unduhan dibuat di perangkat Anda. Tidak ada yang diunggah.