AI di perangkat — profesional dan privat.

Alat Encoder Base64 Online

Encode teks dan file ke Base64 di perangkat Anda

  • Tidak ada yang diunggah
  • Standar, URL, MIME & PEM
  • Data URI dengan tipe terdeteksi

Lepaskan file untuk di-encode

Semua jenis file. Hingga 25 MB.

Prasetel
Alfabet dan padding
Alfabet

Dua karakter mana yang mengisi dua slot terakhir dari 64.

Pembungkusan baris
0
Terminator baris

0 berarti satu baris utuh. MIME butuh 76, PEM butuh 64.

Bentuk keluaran
Masukan teks
Akhir baris pada sumber

Kedua pengaturan ini hanya berlaku untuk teks yang diketik, tidak pernah untuk file.

Pro

Cara meng-encode ke Base64

  1. 1

    Tambahkan yang ingin di-encode

    Ketik atau tempel ke kotak teks, atau lepaskan file ke area unggah. Semua jenis file bisa, karena encoder membaca byte dan tidak pernah perlu memahami formatnya.

  2. 2

    Pilih varian Base64

    Pilih prasetel — Standar, MIME, PEM, atau Aman-URL — atau atur sendiri alfabet, padding, dan lebar baris. Aktifkan Data URI jika string akan masuk ke HTML atau CSS.

  3. 3

    Encode dan salin

    Tekan Encode. Hasilnya muncul dengan ukuran dan tambahan ukurannya yang terukur; salin ke papan klip atau unduh sebagai file teks. Tidak ada apa pun yang dikirim ke server.

Apa itu Base64, dan apa biayanya

Base64 menulis ulang byte sembarang memakai 64 karakter ASCII yang dapat dicetak — A-Z, a-z, 0-9, dan dua lagi yang bergantung pada variannya. Ia ada karena sangat banyak sistem dirancang untuk membawa teks, bukan byte: bidang string JSON, dokumen XML, badan email, header HTTP, konfigurasi YAML, baris log, pesan obrolan. Memberi salah satunya aliran byte mentah akan merusaknya, biasanya diam-diam. Base64 memberi Anda sesuatu yang akan dibawa sistem-sistem itu tanpa berubah, dan yang kembali menjadi byte persis seperti semula.

Biayanya adalah ukuran. Tiga byte menjadi empat karakter, jadi muatannya bertambah sepertiga sebelum padding dan jeda baris dihitung — gambar 1 MB menjadi sekitar 1,37 MB Base64. Itu pertukaran yang baik untuk ikon 2 KB yang ingin Anda sematkan, dan buruk untuk foto 4 MB yang toh akan Anda sajikan dari sebuah URL. Alat ini mengukur pemuaian sebenarnya untuk masukan Anda dan menampilkannya di samping hasil alih-alih mengutip 33% dari buku teks, karena pembungkusan dan awalan data URI keduanya mendorongnya lebih tinggi.

Apa yang dilakukan setiap opsi

Empat pengaturan mengubah string yang Anda dapatkan. Semuanya sengaja dibuat saling bebas: kebanyakan encoder mengikat dua di antaranya dan menebak untuk Anda, yang tidak masalah sampai sistem yang Anda beri makan menginginkan kombinasi yang justru disingkirkan oleh tebakan itu.

Alfabet: standar atau aman-URL

Enam puluh dua dari 64 karakter sama di mana pun. Dua yang terakhir adalah + dan / pada Base64 standar (RFC 4648 bagian 4) dan - dan _ pada Base64 aman-URL, disebut juga base64url (bagian 5). Perbedaannya penting di mana pun string bertemu pengurai: + berarti spasi di query string, / memisahkan segmen path, dan keduanya merepotkan di nama file. Jika nilainya masuk ke URL, JWT, atau nama file, pakai yang aman-URL; selain itu, standar adalah yang diharapkan semua orang.

Padding

Base64 bekerja dalam kelompok tiga byte. Ketika masukan tidak habis dibagi, satu atau dua karakter = ditambahkan agar panjang keluaran selalu kelipatan empat, yang memberi tahu pendekode persis di mana data berhenti. Base64 standar mewajibkannya. base64url mengizinkannya, dan JWT justru melarangnya — itulah sebabnya padding di sini adalah sakelar tersendiri dan bukan sesuatu yang mengikuti alfabet. Menonaktifkannya tidak pernah mengubah byte hasil dekode; pendekode yang ketat mungkin sekadar menolak stringnya.

Pembungkusan baris

Satu baris utuh tanpa jeda tepat untuk bidang JSON dan salah untuk email. RFC 2045 membatasi satu baris badan MIME pada 76 karakter dan mewajibkan CRLF, jadi lampiran Base64 tanpa pembungkusan bukan badan MIME yang sah. PEM — format yang membungkus kunci privat, sertifikat, dan materi SSH di antara baris BEGIN dan END — memakai 64. Lebar di sini berkisar dari 4 (satu kuantum Base64, baris tersempit yang tidak memecah satu kelompok) hingga 998, baris terpanjang yang diizinkan RFC 5322 dalam sebuah pesan surat, dan terminatornya adalah kendali terpisah karena kedua standar itu tidak sepakat soal itu.

Meng-encode setiap baris secara terpisah

Secara bawaan seluruh masukan menjadi satu string. Aktifkan ini dan setiap baris di-encode secara mandiri, memberi Anda satu kolom nilai Base64 dari satu kolom masukan — bentuk yang Anda inginkan ketika Anda menempelkan daftar kunci API, pengenal, atau pesan pendek dan butuh masing-masing ter-encode sendiri. Setiap baris menyimpan byte terminatornya sendiri, sehingga hasilnya tetap dapat disusun kembali persis menjadi dokumen asal.

Varian Base64 tidak dapat saling menggantikan

Setiap varian di bawah meng-encode byte yang sama dan didekode kembali menjadi byte yang sama. Yang berbeda adalah karakter mana yang muncul dan di mana jeda barisnya jatuh — dan sistem yang mengharapkan salah satunya biasanya akan menolak yang lain alih-alih diam-diam menyesuaikan diri. Alat ini menyediakan empat yang benar-benar dibutuhkan orang sebagai prasetel:

VarianAlfabetPembungkusan barisDi mana Anda menemuinya
Standar+ dan /, ber-paddingtidak adaBidang JSON, file konfigurasi, sebagian besar API dan pustaka
MIME+ dan /, ber-padding76 karakter, CRLFBadan dan lampiran email (RFC 2045)
PEM+ dan /, ber-padding64 karakter, LFKunci, sertifikat, materi SSH (RFC 7468)
base64url- dan _, tanpa paddingtidak adaJWT, query string, segmen path, nama file

Ada dua varian lagi dan keduanya sengaja tidak ditawarkan di sini. ASCII Armor milik OpenPGP menambahkan checksum CRC-24 dan blok header, dan UTF-7 milik IMAP memakai alfabet yang dimodifikasi dengan aturan escape berbeda — keduanya adalah format tersendiri yang mengenakan label Base64, dan menawarkannya sebagai kotak centang akan menghasilkan keluaran yang bukan salah satu di antaranya.

Data URI: kapan menyematkan

Data URI adalah string Base64 dengan tipe media di depannya, dan ia membuat sebuah file hidup di dalam dokumen yang memakainya alih-alih di ujung sebuah URL. Aktifkan opsi data URI dan awalannya dibuatkan untuk Anda, dengan tipe media dibaca dari byte awal file itu sendiri, bukan dari ekstensinya — sehingga PNG yang seseorang ganti namanya menjadi .jpg tetap dilabeli image/png, dan file yang datang dari Windows tanpa tipe media sama sekali tetap dikenali dengan benar. Ini layak dilakukan ketika:

  • Asetnya kecil dan selalu dibutuhkan — sebuah ikon, butir daftar, logo, atau latar setipis rambut. Menyematkannya menghapus satu permintaan yang tadinya menghambat perenderan.
  • Anda sedang membuat purwarupa — satu file HTML yang membawa gambarnya sendiri jauh lebih mudah dikirim lewat email, ditempel ke sebuah isu, atau dijatuhkan ke sandbox.
  • Tidak ada tempat untuk menaruhnya — README Markdown, tanda tangan email, atau file konfigurasi yang menerima string dan bukan path.
  • Fonnya adalah subset — fon ikon kecil yang disematkan di CSS menghindari kedipan teks tak terlihat yang bisa muncul dari permintaan terpisah.

Kapan data URI adalah jawaban yang salah

Aset yang disematkan tidak dapat disimpan di cache secara terpisah, jadi setiap halaman yang menyematkannya membayarnya lagi, dan ia tidak dapat disajikan dalam format modern ke peramban yang mendukungnya. Ia juga menggelembungkan file tempatnya hidup sebesar sepertiga, dan file itu biasanya HTML atau CSS di jalur kritis. Sebagai patokan, sematkan di bawah beberapa kilobyte dan tautkan di atasnya — dan jangan pernah menyematkan apa pun yang muncul di lebih dari segelintir halaman.

Pengodean teks, dan karakter yang membuatnya rusak

Base64 meng-encode byte, dan teks tidak punya byte sampai seseorang memilih sebuah pengodean — jadi «encode teks ini» adalah permintaan yang belum lengkap. Kata cafe dengan aksen akut menjadi Y2Fmw6k= dalam UTF-8 dan Y2Fm6Q== dalam Latin-1. Keduanya benar; hanya satu yang akan dipahami oleh tujuan pengiriman Anda. Kebanyakan encoder daring menawarkan UTF-8 dan tidak lebih, yang benar hampir selalu dan diam-diam salah di sisanya. Di sini ditawarkan lima:

PengodeanByte per karakterGunakan ketika
UTF-81 sampai 4Hampir selalu. Web, JSON, API modern, apa pun sejak sekitar 2005.
UTF-16 LE2 atau 4Berbicara dengan API Windows atau .NET, yang Encoding.Unicode-nya berarti ini.
UTF-16 BE2 atau 4Java dan sebagian protokol jaringan yang menetapkan urutan big-endian.
ISO-8859-11Data lama Eropa Barat, header email lawas, sebagian kolom basis data.
Windows-12521Seperti Latin-1 tetapi dengan tanda kutip melengkung, tanda pisah em, dan lambang euro.

Akhir baris

Kotak teks di halaman web tidak dapat memuat carriage return: spesifikasi HTML mewajibkan nilainya dinormalisasi menjadi line feed, jadi menempelkan file Windows ke dalamnya lalu meng-encode-nya memberi Anda string yang akan dimiliki file itu di Linux, bukan string yang sebenarnya ia miliki. Itu jawaban yang sungguh-sungguh salah tanpa apa pun di layar yang mengisyaratkannya, sehingga kendali akhir baris di sini adalah soal ketepatan dan bukan kenyamanan — setel ke CRLF dan encoder mengembalikan carriage return-nya sebelum meng-encode.

Meng-encode file, dan banyak file sekaligus

File apa pun bisa. Encoder tidak pernah perlu memahami sebuah format — ia membaca byte dan berhitung dengannya — jadi gambar, fon, PDF, arsip, video, file tanpa ekstensi, dan file yang tipenya tidak dapat dikenali sistem operasi semuanya ter-encode dengan benar. File dibaca di perangkat Anda, bukan di server kami. Karena hasilnya menempati memori sekitar 2,7 kali ukuran file setelah disimpan sebagai teks, hasil yang sangat besar ditampilkan sebagai pratinjau sementara Salin dan Unduh selalu memberi Anda string yang lengkap.

Apa yang termasuk dalam versi gratis

File hingga 25 MB, satu per satu, dan semua opsi pengodean: kedua alfabet, padding ke dua arah, keempat prasetel, lebar baris berapa pun, data URI, mode per baris, dan kelima pengodean teks. Tidak ada apa pun yang menyangkut ketepatan keluaran yang berada di balik dinding berbayar, karena tingkat gratis yang mengembalikan string yang ditolak pendekode Anda bukanlah tingkat gratis.

Apa yang ditambahkan Pro

Skala, dan hanya skala. Hingga 20 file dalam satu jalan dengan satu ZIP yang menampung hasilnya, dan tanpa batas ukuran yang kami tetapkan — Pro bekerja sampai sejauh yang benar-benar mampu ditangani perangkat Anda, bukan sampai konstanta yang lebih besar yang kami pilih. Tidak ada pesaing yang ditinjau menerima lebih dari satu file sekaligus, jadi pemrosesan banyak file adalah bagian yang tidak ada di tempat lain.

Kapan memakainya

Gunakan halaman ini ketika Anda sudah punya teks atau file dan butuh representasi Base64-nya. Gunakan decoder ketika Anda mulai dari string Base64 dan ingin isi aslinya kembali.

  • Menyematkan aset — data URI untuk ikon, butir daftar, atau fon kecil, ditempel langsung ke HTML atau CSS.
  • Mengisi bidang API — badan permintaan atau file konfigurasi yang menerima blob Base64 alih-alih unggahan file.
  • Menyiapkan badan MIME — baris 76 karakter dengan CRLF, agar sebuah lampiran menjadi bagian pesan yang sah.
  • Membangun token aman-URL — base64url tanpa padding, untuk segmen JWT, parameter query, atau nama file.
  • Memindahkan biner lewat teks — menempelkan sesuatu ke obrolan, tiket, log, atau terminal yang hanya membawa teks.
  • Membuat fixture pengujian — string Base64 yang diketahui untuk uji unit, dengan varian persis seperti yang diharapkan kode yang diuji.

Kapan tidak memakai Base64

Base64 sering diraih secara refleks, dan ada empat pekerjaan yang tampak cocok untuknya padahal tidak.

  • Menyembunyikan rahasia — Base64 bukan enkripsi. Siapa pun mendekodenya dalam satu langkah, dan kata sandi Base64 di file konfigurasi adalah kata sandi polos dengan sintaks tambahan. Gunakan kriptografi sungguhan.
  • Memeriksa keutuhan — Base64 tidak memberi tahu apa pun tentang apakah datanya berubah. Gunakan hash — generator hash kami menghasilkan SHA-256 dan sejenisnya di perangkat yang sama.
  • Memperkecil apa pun — ia selalu membuat data sepertiga lebih besar. Jika tujuannya muatan yang lebih kecil, kompres dulu lalu encode byte hasil kompresi.
  • Menyajikan media besar — video atau foto yang disematkan tidak dapat di-cache, diminta per rentang, atau dialirkan, dan ia menghambat dokumen tempatnya berada. Sajikan dari sebuah URL.

Contoh penggunaan

Permintaan yang paling sering membawa orang ke halaman ini, dalam urutan kemunculannya:

  • Membangun data URI untuk gambar atau fon kecil saat membuat purwarupa HTML atau CSS.
  • Menyiapkan muatan untuk API atau file konfigurasi yang menyimpan blob Base64.
  • Membungkus badan sertifikat atau kunci pada 64 karakter agar cocok dengan PEM di sekelilingnya.
  • Menghasilkan badan MIME 76 karakter untuk lampiran email yang dirakit manual.
  • Meng-encode sebuah nilai untuk segmen JWT atau parameter URL tanpa padding.
  • Memindahkan biner melalui sistem yang hanya mengizinkan teks polos saat transit.
  • Mengubah file lokal menjadi string yang dapat ditempel ketika unggahan biner tidak tersedia.
  • Membuat fixture untuk perkakas atau pengujian yang mengharapkan varian Base64 tertentu.

Batasan dan kompatibilitas

Base64 standar dipahami setiap bahasa dan platform yang dipakai luas. Variannyalah yang membuat kompatibilitas menjadi tajam: pendekode yang ditulis untuk Base64 standar akan menolak - dan _, pendekode yang ketat akan menolak = yang hilang, dan pengurai MIME akan menolak badan tanpa pembungkusan. Pilih prasetel yang menyebut nama sistem yang Anda beri makan, bukan yang tampak paling rapi, dan bila ragu, standar dengan padding adalah yang diterima paling banyak pendekode.

Pengodean bersifat lossless di kedua arah: mendekode dengan alat yang kompatibel memulihkan byte persis seperti semula. Satu-satunya tempat data bisa hilang adalah sebelum Base64 terlibat sama sekali — jika Anda memilih pengodean karakter yang tidak dapat mewakili sebuah karakter dalam teks Anda, alat ini menyebutkan karakter dan posisinya lalu menolak, alih-alih menggantinya dengan tanda tanya dan menyerahkan string yang salah dengan penuh percaya diri, yang justru dilakukan penggantian diam-diam.

Pengodean berjalan di perangkat Anda memakai metode tercepat yang ditawarkan peramban Anda, dan mundur ke metode yang lebih lambat namun menghasilkan string yang identik bila metode itu tidak ada. Diukur pada peramban desktop, file 16 MB ter-encode dalam kurang dari 5 milidetik pada jalur cepat dan kurang dari 40 pada jalur cadangan; pengodean file berlangsung di luar utas utama halaman, sehingga antarmuka tetap responsif selama prosesnya.

Pertanyaan yang sering diajukan

Apa itu pengodean Base64 dan bagaimana alat ini bekerja?

Base64 mengubah byte menjadi alfabet ASCII 64 karakter (A-Z, a-z, 0-9, +, /) agar data biner bisa melewati sistem yang hanya menerima teks seperti JSON, XML, atau email. Ketik atau tempel teks, atau lepaskan file, pilih varian yang Anda butuhkan, dan keluaran Base64 dibuat di perangkat Anda untuk disalin dengan satu klik.

Apakah data saya privat dan aman?

Ya. Seluruh pengodean berjalan sepenuhnya di perangkat Anda, sehingga teks dan file Anda tidak pernah diunggah, disimpan, atau dicatat, dan alat ini bekerja luring setelah dimuat. Perlu diingat, Base64 adalah pengodean yang dapat dibalik, bukan enkripsi, jadi siapa pun yang memiliki stringnya dapat mendekodenya; gunakan kriptografi sungguhan untuk rahasia.

Bisakah saya meng-encode gambar dan file lain ke Base64?

Bisa. Lepaskan atau pilih file apa pun — gambar, fon, PDF, arsip, video, atau sesuatu tanpa ekstensi — file itu dibaca secara lokal dan dikembalikan sebagai string Base64. Aktifkan Data URI dan tipe medianya dideteksi dari byte file itu sendiri, sehingga hasilnya bisa langsung ditempel ke HTML atau CSS.

Apakah alat ini menangani teks UTF-8 dan karakter khusus?

Ya. Teks diperlakukan sebagai UTF-8 secara bawaan, sehingga huruf beraksen, emoji, dan aksara non-Latin ter-encode dengan benar tanpa rusak. Anda juga bisa memilih UTF-16 LE, UTF-16 BE, ISO-8859-1, atau Windows-1252 saat berbicara dengan sistem yang mengharapkan salah satunya, dan karakter apa pun yang tidak dapat diwakili oleh pengodean pilihan Anda akan disebutkan namanya dan ditolak, bukan diganti diam-diam.

Apakah ada batas ukuran file dan apakah berbayar?

Encoder ini gratis dan tanpa tanda air. Versi gratis menangani file hingga 25 MB, satu per satu; Pro menghapus batas yang kami tetapkan dan bekerja sampai sejauh kemampuan perangkat Anda, meng-encode hingga 20 file sekaligus, dan mengumpulkannya dalam satu ZIP. Semua opsi pengodean — aman-URL, padding, pembungkusan baris, data URI, mode per baris, dan kelima pengodean teks — tersedia di tingkat gratis.

Apa kegunaan umum pengodean Base64?

Base64 dipakai untuk menyematkan gambar atau fon kecil sebagai data URI, menyiapkan muatan untuk API dan file konfigurasi, melampirkan biner ke email melalui MIME, membungkus kunci dan sertifikat dalam PEM, memindahkan biner dengan aman lewat obrolan atau log, dan membuat string uji untuk perkakas. Alat ini bekerja di peramban desktop maupun ponsel.

Apa beda Base64 dan Base64 aman-URL?

Keduanya meng-encode byte yang sama dengan dua karakter berbeda. Base64 standar (RFC 4648 bagian 4) memakai + dan /, yang keduanya punya makna sendiri di dalam URL dan nama file. Base64 aman-URL, disebut juga base64url (RFC 4648 bagian 5), memakai - dan _ sebagai gantinya, sehingga string tetap utuh saat ditempel ke query string, segmen path, atau JWT. Tidak ada lagi yang berubah, dan byte hasil dekode identik.

Mengapa Base64 saya perlu jeda baris setiap 76 karakter?

Karena email mensyaratkannya. RFC 2045 membatasi satu baris badan MIME pada 76 karakter dan mewajibkan terminator CRLF, sehingga string tanpa pembungkusan bukan badan MIME yang sah dan banyak server surat menolak atau merusaknya. PEM, yang dipakai untuk kunci dan sertifikat, membungkus pada 64. Pakai prasetel MIME atau PEM dan lebar serta terminator barisnya diatur benar untuk Anda.

Haruskah saya menyimpan atau menghapus padding =?

Simpan, kecuali sistem yang Anda tuju berkata lain. Padding membuat panjang string menjadi kelipatan empat sehingga pendekode tahu persis di mana data berakhir. Base64 standar mewajibkannya dan base64url mengizinkannya, tetapi JWT dan beberapa API berbasis URL menetapkan keluaran tanpa padding dan menolak karakter =. Alat ini membiarkan Anda mengatur padding terpisah dari alfabet, karena membuat yang satu mengikuti yang lain adalah tebakan.

Seberapa besar Base64 membuat file saya membengkak?

Sekitar 33%, dan alat ini mengukur angka sebenarnya alih-alih mengutip angka buku teks. Base64 menulis empat karakter untuk setiap tiga byte, yaitu pemuaian 4/3; padding menambah hingga dua karakter dan pembungkusan baris menambah satu atau dua per baris di atasnya. Gambar 1 MB menjadi sekitar 1,37 MB teks, itulah sebabnya data URI cocok untuk ikon dan tidak cocok untuk foto.

Bisakah saya meng-encode satu folder file sekaligus?

Bisa, dengan Pro. Lepaskan hingga 20 file, encode dalam satu jalan, dan unduh hasilnya sebagai satu ZIP dengan satu entri per file. Nama file yang sama diberi akhiran bernomor agar tidak ada yang tertimpa diam-diam, dan nama entri dibersihkan dari path apa pun agar tidak ada yang bisa ditulis di luar folder tempat Anda mengekstrak.

Mengapa kotak hasil mengatakan hanya menampilkan sebagian string?

Karena menggambar tiga puluh juta karakter ke dalam kotak teks akan membekukan halaman selama beberapa detik tanpa memberi tahu apa pun yang bisa Anda baca. Hasil besar ditampilkan sebagai pratinjau 32.768 karakter pertama, dengan panjang terukur dari string lengkap ditampilkan di sebelahnya. Salin dan Unduh selalu memberi Anda hasil yang utuh.

4.7dari 5

dari 1.089 penilaian

Beri nilai alat ini

Ketuk bintang — hanya sebentar