Konverter Gambar ke Base64
Konversi gambar ke data URI Base64 di browser — PNG, JPG, GIF, WebP, SVG, ICO. Salin output HTML, CSS, Markdown & JSON. 100% privat, tanpa upload.
Lepaskan gambar di sini, tempel, atau klik untuk menjelajah
PNG · JPG · GIF · WebP · SVG · ICO · BMP — dikonversi sepenuhnya di browser Anda
Apa Itu Gambar Base64 (Data URI)?
Gambar Base64 adalah gambar yang byte binernya telah di-encode ulang sebagai string karakter ASCII yang dapat dicetak menggunakan alfabet Base64 (A–Z, a–z, 0–9, + dan /). Dibungkus dalam skema data: URI — data:image/png;base64,iVBORw0KGgo… — string itu dapat muncul di mana pun URL diharapkan: src img HTML, background-image CSS, isi email, atau field di dalam payload JSON. Browser mendekodenya secara langsung dan menampilkan gambar tanpa request jaringan terpisah. Inilah mengapa gambar Base64 kadang disebut gambar "inline" atau "tersemat".
Encoding ini ada karena alasan sederhana: banyak sistem dibangun untuk membawa teks, bukan biner sembarang. HTML, JSON, header email, dan URL semuanya mengharapkan karakter, dan byte gambar mentah akan menyertakan kode kontrol dan pembatas yang merusaknya. Base64 memetakan setiap 3 byte biner ke 4 karakter teks yang aman, menjamin data bertahan utuh selama transport. Biayanya adalah ukuran: representasi teks sekitar 33% lebih besar dari biner asli, dan tidak dapat di-cache secara independen dari dokumen yang memuatnya.
Trade-off itu menentukan kapan gambar Base64 masuk akal. Untuk ikon kecil yang dipakai di satu stylesheet, inlining menghapus satu perjalanan bolak-balik dan penalti ukurannya dapat diabaikan — jelas menguntungkan. Untuk foto hero 200 KB yang dipakai ulang di setiap halaman, inlining menggembungkan setiap halaman, mengalahkan cache browser, dan memakan CPU untuk mendekode di setiap pemuatan — jelas merugikan. Panduan modern era HTTP/2 adalah hanya melakukan inlining pada aset kecil yang stabil dan menyajikan sisanya sebagai file biasa yang di-cache. Alat ini menampilkan angka tepat untuk gambar Anda dan rekomendasi lampu lalu lintas sehingga keputusan berdasarkan data, bukan cerita rakyat.
Operasi sebaliknya — mengubah string Base64 kembali menjadi gambar yang dapat dilihat dan diunduh — sama bergunanya ketika Anda men-debug data URI dari stylesheet, memeriksa respons API, atau memulihkan aset yang tersemat di file konfigurasi. Beralihlah ke tab Base64 → Gambar atau buka decoder Base64 ke Gambar khusus.
<!-- The same 1×1 transparent PNG, four ways -->
<!-- HTML -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" alt="pixel">
/* CSS */
.badge {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==");
}
<!-- Markdown -->

// JSON
{ "mime": "image/png", "data": "iVBORw0KGgo…" } Fitur Utama
Seret, Klik, atau Tempel
Tiga jalur input: lepaskan file, telusuri ke sana, atau tempel gambar langsung dari clipboard dengan Ctrl+V — rute tercepat untuk tangkapan layar. Apa pun yang Anda berikan langsung di-encode, tanpa upload.
Enam Format Output
Base64 mentah, Data URI lengkap, elemen HTML, aturan background-image CSS, tautan gambar Markdown, dan objek JSON. Masing-masing punya tombol Salin sendiri dan opsi Unduh, sehingga cuplikan siap untuk konteks yang persis Anda butuhkan.
Metrik Ukuran & Inflasi Langsung
Bilah metadata menampilkan ukuran file asli, ukuran Base64 ter-encode, dan persentase peningkatan yang presisi untuk gambar spesifik Anda — bukan "sekitar 33%" yang umum. Anda melihat biaya nyata inlining sebelum berkomitmen.
Lencana Saran Inline
Rekomendasi lampu lalu lintas membaca ukuran file Anda dan memberi tahu apakah data URI ide yang baik: hijau di bawah ~2 KB, kuning hingga ~10 KB, merah di atasnya. Ia meng-encode konsensus pasca-HTTP/2 sehingga Anda tidak perlu menghafal ambangnya.
Decoder Bawaan
Tab Base64 → Gambar membalik prosesnya: tempel string atau data URI dan dapatkan pratinjau langsung, dimensi serta tipe MIME yang didekode, dan tombol Unduh yang membangun ulang file asli. Ia mentoleransi prefiks yang hilang dan spasi yang tersesat.
Semua Format Umum
PNG, JPG, GIF (animasi dipertahankan), WebP, SVG, ICO, dan BMP — ditambah AVIF jika didukung. Byte mentah di-encode apa adanya, sehingga transparansi, animasi, dan skalabilitas vektor semuanya tetap utuh.
Contoh
PNG ke Data URI (siap pakai CSS / HTML)
transparent-1x1.png (PNG 68 byte)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
Letakkan sebuah PNG dan tab Data URI memberi Anda string yang dapat ditempel langsung ke src HTML atau url() CSS. Bilah metadata menampilkan ukuran asli, ukuran Base64, dan persentase peningkatan yang tepat.
Menyematkan ikon SVG secara inline di HTML
icon.svg
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0i…" alt="icon">
Beralih ke tab HTML untuk elemen yang siap ditempel. Khusus untuk SVG, URL-encoding sering kali lebih kecil daripada Base64 — lihat FAQ tentang mengapa SVG adalah kasus khusus.
Gambar Markdown dengan JPG tersemat
photo.jpg (12 KB)

Tab Markdown menghasilkan tautan gambar yang mandiri — praktis untuk file README, isu GitHub, dan notebook tempat Anda tidak dapat meng-host file eksternal. Pada 12 KB, lencana saran berubah jadi kuning: timbang kepraktisan terhadap biaya bobot halaman.
Cara Mengonversi Gambar ke Base64
- 1
Tambahkan gambar Anda
Seret gambar ke zona lepas, klik untuk menjelajah, atau tempel dari clipboard dengan Ctrl+V / Cmd+V. PNG, JPG, GIF, WebP, SVG, ICO, dan BMP semuanya didukung dan di-encode sepenuhnya di browser Anda.
- 2
Pilih format output
Pilih Data URI, Base64 mentah, HTML
, background CSS, Markdown, atau JSON dari tab. Periksa bilah metadata untuk peningkatan ukuran dan lencana saran untuk menilai apakah inlining sepadan.
- 3
Salin atau unduh
Klik Salin untuk mengambil cuplikan, atau Unduh untuk menyimpannya sebagai file. Untuk membalik prosesnya, beralihlah ke tab Base64 → Gambar, tempel sebuah string, dan unduh gambar yang direkonstruksi.
Kesalahan Umum
Tipe MIME Hilang atau Salah
Data URI harus mendeklarasikan tipe media yang benar atau browser menolak merendernya. Meng-encode PNG tetapi melabelinya image/jpeg, atau menghilangkan tipenya sama sekali, menghasilkan gambar yang rusak. Salin output Data URI atau HTML langsung dari alat ini untuk mendapatkan prefiks yang tepat secara otomatis.
data:base64,iVBORw0KGgo… <!-- no MIME type — will not render -->
data:image/png;base64,iVBORw0KGgo… <!-- correct: image/png -->
Spasi atau Jeda Baris dalam String
Beberapa alat membungkus Base64 pada 76 karakter sesuai RFC 2045, dan salin-tempel dapat menyisipkan spasi atau baris baru yang tersesat. Dalam atribut HTML atau url() CSS, jeda tersebut dapat membatalkan URI. Buang spasi sebelum menggunakan string — decoder alat ini melakukannya secara otomatis, sehingga perjalanan bolak-balik melalui tab Base64 → Gambar akan membersihkannya.
data:image/png;base64,iVBORw0KGgoAAAANS UhEUgAAAAEAAAABCAYAAAA… <!-- embedded newline breaks the attribute -->
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAA… <!-- single unbroken line -->
String Terpotong (Padding Hilang)
String Base64 berakhir dengan nol, satu, atau dua karakter padding =. Salinan parsial yang menghilangkan = di akhir (atau beberapa karakter terakhir) menghasilkan string yang tidak dapat didekode dan gambar yang rusak. Jika tempelan gagal dirender, pastikan Anda menyalin seluruh nilai termasuk padding di akhir.
…WjR9awAAAABJRU5ErkJggg <!-- missing trailing == -->
…WjR9awAAAABJRU5ErkJggg== <!-- complete with padding -->
Meng-Base64 Foto Besar
Meng-encode foto beberapa ratus KB menghasilkan string raksasa yang menggembungkan HTML atau CSS Anda, tidak dapat di-cache sendiri, dan lambat didekode. Lencana saran berubah merah persis untuk kasus ini. Sajikan gambar besar sebagai file biasa; sediakan Base64 untuk aset kecil, dan kompres dahulu.
/* 380 KB hero photo inlined into a global stylesheet */
.hero { background-image: url("data:image/jpeg;base64,/9j/…(½ MB of text)…"); } /* Serve it as a cached file instead */
.hero { background-image: url("/img/hero.jpg"); } Kasus Penggunaan Umum
- Menyematkan logo atau ikon inline di CSS
- Lepaskan ikon PNG atau SVG kecil, salin cuplikan background-image CSS, dan tempel ke stylesheet Anda untuk menghapus satu request HTTP bagi aset yang jarang berubah. Jaga di bawah ~2 KB (perhatikan lencana hijau) agar stylesheet tetap ramping.
- Menyematkan gambar di email HTML
- Klien email sering memblokir gambar jarak jauh. Encode logo Anda sebagai data URI dan tempel elemen
ke template sehingga dirender tanpa pengambilan server. Uji di berbagai klien — jaga sematan tetap ikon kecil, bukan foto.
- Markdown dan README mandiri
- Ketika Anda tidak dapat meng-host gambar — isu GitHub, notebook, dokumen offline — output Markdown menyematkan gambar langsung di file sehingga ikut bersama teks. Ideal untuk diagram kecil dan lencana.
- Gambar di dalam JSON atau payload API
- Perlu mengirim thumbnail di dalam dokumen JSON atau file konfigurasi? Output JSON memberi Anda objek { mime, data } yang dapat ditempel langsung, dan decoder memulihkan gambar di sisi lain.
- Debugging data URI cepat
- Menemukan data: URI misterius di stylesheet atau respons API? Tempel ke tab Base64 → Gambar untuk melihat apa isinya sebenarnya, baca dimensi aslinya, dan unduh sebagai file biasa untuk inspeksi lebih dekat.
- Widget dan bookmarklet satu file
- Bookmarklet dan widget yang dapat disematkan harus mandiri tanpa dependensi eksternal. Meng-inline ikonnya sebagai Base64 menjaga semuanya dalam satu file yang bekerja di mana pun ia dijatuhkan.
Detail Teknis
- Cara Kerja Encoding Base64
- Base64 mengambil aliran biner gambar tiga byte (24 bit) sekaligus dan membaginya menjadi empat grup 6-bit, masing-masing dipetakan ke satu karakter dalam alfabet 64-simbol. Ketika panjang input bukan kelipatan tiga, satu atau dua karakter padding = menandai sisanya. Rasio 3-ke-4 inilah alasan teks ter-encode sekitar 33% lebih besar dari sumbernya. Alat ini menghitung panjang byte yang didekode langsung dari panjang string dan padding, sehingga angka ukuran yang dilaporkannya tepat, bukan perkiraan.
- Deteksi MIME dan Magic Byte
- Saat Anda meng-encode file, tipe MIME-nya berasal dari objek File browser. Saat Anda mendekode string Base64 mentah tanpa prefiks data:, alat ini memeriksa karakter awal, yang berkorespondensi dengan magic byte gambar: iVBORw0KGgo untuk PNG, /9j/ untuk JPEG, R0lGOD untuk GIF, UklGR untuk WebP, dan PHN2Zy atau PD94bWw untuk SVG. Ini memungkinkan decoder merekonstruksi data URI yang benar dan mengunduh dengan ekstensi file yang tepat bahkan ketika input hanya payload telanjang.
- Pemrosesan Hanya Lokal
- Encoding menggunakan readAsDataURL dari FileReader API, yang mengembalikan data URI yang disintesis sepenuhnya di browser. Decoding untuk unduhan menggunakan atob ditambah Uint8Array untuk membangun ulang biner, lalu Blob dan object URL — sekali lagi tanpa jaringan yang terlibat. Hasilnya adalah alat yang dapat Anda jalankan offline dan percayai dengan gambar rahasia, karena byte tidak pernah meninggalkan halaman. Anda dapat memverifikasi perilaku nol-request di developer tools browser Anda.
Praktik Terbaik
- Inline Hanya Aset Kecil yang Stabil
- Titik manis untuk Base64 adalah aset di bawah ~2 KB yang jarang berubah dan muncul di sedikit halaman — ikon, logo kecil, sprite UI. Di atas ~10 KB, penalti ukuran dan caching yang hilang melebihi request yang dihemat, terutama sekarang HTTP/2 membuat request tambahan murah. Biarkan lencana saran memandu Anda, dan sajikan foto serta grafik besar sebagai file biasa yang di-cache.
- Lebih Baik URL-Encoding untuk SVG
- SVG adalah teks, jadi Base64 menggembungkannya tanpa keuntungan. Saat meng-inline SVG di CSS atau HTML, URL-encode markup-nya — biasanya lebih kecil, tetap terbaca manusia, dan terkompresi lebih baik dengan gzip/brotli. Sediakan Base64 SVG untuk pipeline yang secara khusus membutuhkannya. URL Encoder/Decoder kami menangani percent-encoding-nya.
- Selalu Setel Tipe MIME yang Benar
- Data URI hanya dirender jika tipe MIME-nya cocok dengan kontennya: image/png, image/jpeg, image/gif, image/webp, image/svg+xml. Tipe yang salah atau hilang adalah alasan nomor satu gambar tersemat gagal tampil. Saat Anda menyalin dari alat ini, tipenya disetel untuk Anda; jika Anda menyusun URI secara manual, periksa ulang prefiksnya.
- Kompres Sebelum Meng-encode
- Karena Base64 menambah ~33% di atas ukuran file, memperkecil sumbernya dahulu menguntungkan dua kali. Jalankan gambar melalui Kompresor Gambar kami — atau ekspor pada dimensi yang tepat — sebelum encoding, sehingga data URI yang dihasilkan sekecil mungkin. PNG terkompres 4 KB mengalahkan aslinya 40 KB baik sebagai file maupun inline.
- Jangan Pernah Andalkan Base64 untuk Privasi
- Base64 mudah sekali dibalik dan tidak memberikan perlindungan. Jangan gunakan untuk mengaburkan konten gambar sensitif — siapa pun dapat mendekodenya secara instan, termasuk dengan tab di halaman ini. Jika konten harus dilindungi, gunakan kontrol akses dan enkripsi nyata di server, dan sajikan gambar melalui endpoint yang terotentikasi.
Pertanyaan yang Sering Diajukan
Apa yang dilakukan konverter Gambar ke Base64 ini?
Apakah gambar saya diunggah ke server?
Seberapa besar Base64 membuat sebuah gambar?
Kapan saya harus menggunakan gambar Base64 alih-alih file biasa?
Kapan saya TIDAK boleh menggunakan gambar Base64?
Bagaimana cara menggunakan output Base64 di HTML dan CSS?
Format gambar apa saja yang didukung?
Mengapa SVG adalah kasus khusus?
Apakah Base64 sama dengan enkripsi?
Bisakah saya menyematkan gambar Base64 di email?
Mengapa gambar Base64 saya tidak tampil?
Alat Terkait
Lihat semua alat →Decode & Encode Base64 Online — Konversi Instan di Browser
Encoding & Pemformatan
Decode dan encode Base64 online gratis. Konversi real-time dengan dukungan UTF-8 dan emoji. 100% privat di browser Anda. Tanpa pendaftaran.
Konverter Base64 ke Gambar
Encoding & Pemformatan
Decode string Base64 atau data URI kembali menjadi gambar di browser. Pratinjau, baca dimensi & MIME, lalu unduh sebagai PNG, JPG, GIF, SVG. Tanpa upload.
Konverter CSV ke JSON
Encoding & Pemformatan
Konversi CSV ke JSON di browser. RFC 4180, infer tipe, baris header, aman big-int. 100% privat, tanpa unggah.
JSON Diff (Bandingkan)
Encoding & Pemformatan
Bandingkan dua file JSON langsung di browser Anda. Sorotan side-by-side, output RFC 6902 JSON Patch, abaikan field seperti timestamp dan ID. 100% privat, tanpa upload.
Format & Validasi JSON Online — Gratis, Cepat, Privat
Encoding & Pemformatan
Format, validasi, dan rapikan JSON langsung di browser Anda. Alat online gratis dengan deteksi error, minifikasi, dan salin sekali klik. 100% privat.
Validator JSON Schema
Encoding & Pemformatan
Validasi JSON terhadap JSON Schema apa pun secara instan di browser Anda. Mendukung Draft 2020-12, 2019-09, dan Draft-07 dengan pesan error berbasis path yang presisi. 100% privat — tanpa upload, tanpa akun, gratis.