Cara Kerja WebConverter

Setiap konversi berjalan di dalam browser Anda. Tidak ada file yang pernah diunggah. Berikut ini persis apa yang terjadi ketika Anda mengonversi file.

Versi Singkat

Ketika Anda menjatuhkan file ke WebConverter, file dibaca dari disk ke memori browser, diproses oleh kode C++ yang dikompilasi yang berjalan sebagai WebAssembly, dan disimpan kembali ke disk Anda sebagai file baru. Seluruh pipeline berjalan di CPU Anda — tidak ada yang meninggalkan perangkat Anda.

Anda dapat memverifikasi ini: buka Developer Tools → tab Network di browser Anda, lalu konversi sebuah file. Anda akan melihat nol permintaan keluar yang membawa data file.

Konversi Gambar

Konversi gambar didukung oleh pustaka grafis C++ Magnum, yang dikompilasi ke WebAssembly menggunakan Emscripten. Magnum menyediakan decoder dan encoder yang teruji untuk berbagai format — kode yang sama yang digunakan dalam aplikasi desktop native.

Alur konversi:

  1. File Anda dibaca ke ArrayBuffer menggunakan File API
  2. Buffer dikirim ke salah satu dari empat Web Worker paralel
  3. Di dalam Worker, modul WASM mendekode format sumber dan mengenkode ulang ke format target
  4. Hasil ditransfer kembali ke thread utama dan dipicu sebagai unduhan

Empat worker berjalan secara paralel, sehingga konversi batch puluhan file selesai dengan cepat tanpa membekukan halaman.

Format gambar yang didukung

  • Input (14 format): BMP, DDS, GIF, HDR, ICO, JPEG, KTX, KTX2, PGM, PIC, PNG, PPM, PSD, TGA, WebP
  • Output (8 format): PNG, JPEG, BMP, TGA, HDR, EXR, KTX2, WebP

Konversi Audio

Konversi audio dan video-ke-audio menggunakan AudioContext.decodeAudioData() bawaan browser untuk mendekode file sumber, kemudian mengenkode ke format target dalam Web Worker.

  • Encoding MP3 dan OGG menggunakan wasm-media-encoders — build WebAssembly dari LAME (MP3) dan libvorbis (OGG)
  • Encoding WAV adalah JavaScript murni — header RIFF ditambah sampel PCM 16-bit interleaved
  • Encoding FLAC menggunakan API AudioEncoder native browser (Chrome 107+), dengan fallback WAV untuk browser yang tidak mendukungnya

Format input termasuk MP4, M4A, WAV, OGG, FLAC, WebM, dan MP3 — wadah apa pun yang dapat didekode browser secara native.

Konversi PDF

Konversi gambar-ke-PDF menggunakan pdf-lib, pustaka PDF JavaScript murni yang membuat dan memanipulasi dokumen PDF di browser. Setiap gambar didekode melalui Canvas API, dienkode ulang sebagai JPEG, dan disematkan sebagai halaman penuh dalam PDF.

Ketika OCR diaktifkan, Tesseract.js — mesin OCR sumber terbuka terkemuka — menganalisis setiap gambar untuk teks dan menempatkannya sebagai lapisan tak terlihat yang dapat dipilih dalam PDF. Model OCR (~10 MB) diunduh sesuai permintaan dan di-cache oleh browser.

Mengapa Sisi Klien?

Privasi

File Anda tidak pernah meninggalkan perangkat Anda. Tidak ada server untuk diretas, tidak ada database untuk dibobol, tidak ada janji "file dihapus setelah 30 menit" yang harus Anda percaya. Baca selengkapnya tentang risiko privasi konverter berbasis server.

Kecepatan

Alat berbasis server mengharuskan mengunggah file Anda, menunggu dalam antrean, dan mengunduh hasilnya. WebConverter melewati ketiganya. Gambar 50 MB dikonversi dalam waktu kurang dari satu detik.

Tanpa Batas

Karena tidak ada infrastruktur server yang harus dibayar, tidak ada batas ukuran file, tidak ada kuota konversi harian, dan tidak ada gerbang "upgrade ke pro".

Berfungsi Offline

WebConverter dapat diinstal sebagai Progressive Web App. Setelah diinstal, berfungsi tanpa koneksi internet apa pun — Anda dapat mengonversi file di pesawat, di daerah pedesaan, atau selama gangguan jaringan.

Dampak Lingkungan Lebih Rendah

Tanpa transfer data berarti tanpa energi jaringan. Tanpa pemrosesan server berarti tanpa listrik pusat data. Baca tentang biaya energi tersembunyi dari konverter berbasis server.

Sumber Terbuka

WebConverter gratis dan sumber terbuka. Anda dapat memeriksa kode, melaporkan masalah, dan berkontribusi di GitLab.

Coba WebConverter — konversi file gratis, privat, dan instan.