Cara kerja penghapusan EXIF
File JPEG adalah urutan segmen bertag yang disebut APP marker, dimulai tepat setelah tanda tangan dua byte SOI (0xFFD8). Data EXIF berada di APP1, GPS ada di dalam blok APP1 yang sama sebagai sub-IFD, dan IPTC berada di APP13. Penghapus ini menelusuri setiap marker, mengidentifikasi yang membawa metadata, menghapusnya, dan merakit ulang payload yang tersisa menjadi JPEG yang valid.
- Urai APP marker. Alat ini membaca ArrayBuffer mentah dan menelusuri urutan marker JFIF byte per byte. Setiap tag marker dua byte mengidentifikasi jenis segmen: APP0 (header JFIF), APP1 (EXIF dan XMP), APP13 (Photoshop dan IPTC), dan seterusnya hingga APP15. Parser mencatat offset dan panjang byte setiap segmen dalam tabel kecil sebelum menyentuh apa pun, sehingga buffer asli tetap utuh dalam memori.
- Dekode tag EXIF. Payload APP1 adalah struktur mini TIFF dengan empat Image File Directory: 0th IFD (atribut gambar utama), Exif SubIFD (eksposur, lensa, panjang fokus, ISO), GPS IFD (lintang, bujur, ketinggian, arah), dan 1st IFD (thumbnail yang disematkan). Setiap tag memiliki kode numerik, tipe data (byte, short, long, rational, string ASCII), dan nilai. Alat ini memetakan kode numerik ke nama yang dapat dibaca manusia menggunakan kamus tag piexifjs, kemudian merendernya di panel metadata yang dikelompokkan berdasarkan IFD.
- Tandai tag GPS. Setiap tag di GPS IFD disorot dengan lencana privasi merah. Lintang dan bujur disimpan sebagai tiga bilangan rasional (derajat, menit, detik) ditambah arah referensi (U atau S, T atau B). Alat ini mengonversinya ke derajat desimal bertanda dengan enam digit presisi (~11 cm di ekuator) dan menampilkan hasilnya di panel GPS bersama tautan OpenStreetMap. Tidak ada permintaan tile yang keluar — tautannya dibuat secara lokal dan hanya terbuka jika Anda mengkliknya.
- Hapus metadata. Untuk file JPEG, jalur default menggunakan piexifjs untuk menghapus segmen APP1 sepenuhnya, mengembalikan dataURL baru dengan data piksel yang tidak tersentuh. Ketika "Pertahankan orientasi" aktif, alat ini memutar gambar di
<canvas>untuk mencocokkan nilai tagOrientationasli (1–8) sebelum menghapus, sehingga hasil visual sesuai dengan yang dimaksudkan kamera — rotasi dipanggang ke dalam piksel alih-alih mengandalkan flag metadata. - Jalur enkode ulang canvas. Ketika "Pertahankan profil warna ICC" dimatikan, alat ini menggambar gambar ke
<canvas>tersembunyi dan memanggilcanvas.toBlob('image/jpeg', quality). Jalur ini menghapus segalanya (EXIF, XMP, IPTC, profil ICC, thumbnail) dan memungkinkan Anda mengontrol slider kualitas JPEG dari 60 hingga 100. Default-nya adalah 92, yang menghasilkan file dalam beberapa persen dari ukuran asli dengan kualitas yang tidak dapat dibedakan dari sumber pada sebagian besar foto. - Unduh file yang bersih. Blob yang telah dibersihkan ditawarkan sebagai unduhan bernama
<nama-asli>-stripped.jpg. Alat ini mem-parse ulang hasilnya dan mengonfirmasi bahwa bagian GPS EXIF kosong sebelum tautan unduhan muncul, sehingga Anda tidak pernah mendapatkan file berlabel "stripped" yang masih menyimpan tag lokasi. File PNG dan WebP tidak menyimpan EXIF sama sekali; alat ini menampilkan pesan "Tidak ada EXIF" dan melewatkan langkah penghapusan untuk format tersebut.
Mengapa menghapus EXIF sebelum berbagi
- Privasi lokasi. Smartphone menyematkan koordinat GPS yang tepat di setiap foto secara default. JPEG dari restoran, kantor, atau rumah membawa alamat tersebut dalam metadatanya dengan akurasi sekitar lima meter. Hapus tag GPS sebelum memposting ke media sosial, mengirim email ke orang asing, atau melampirkan tangkapan layar ke tiket dukungan publik dan Anda menghapus sidik jari lokasi tersebut sepenuhnya.
- Anonimitas dalam publikasi. Wartawan, aktivis, dan whistleblower menghapus EXIF sebelum mengirimkan foto karena nomor seri kamera, versi firmware lensa, dan cap waktu pembuatan semuanya dapat dirujuk silang terhadap gambar yang diterbitkan lain untuk mengidentifikasi fotografer. Menghapus tag tersebut adalah langkah keamanan operasional dasar bagi siapa saja yang byline-nya tidak boleh dikaitkan dengan perangkat fisik tertentu.
- Ukuran file lebih kecil. JPEG smartphone tipikal membawa 5 hingga 15 KB metadata di segmen APP1-nya, termasuk thumbnail 160×120 yang disematkan. Itu kecil relatif terhadap foto 5 MB, tetapi menghapusnya di 1.000 gambar produk menghemat 5 hingga 15 MB per unggahan — berguna saat memangkas katalog produk, perpustakaan foto stok, atau ekspor.
- Hapus sidik jari kamera. Merek kamera, model, versi firmware, pengidentifikasi lensa, dan jumlah aktuasi rana membentuk sidik jari yang dapat menghubungkan foto di berbagai unggahan terpisah meskipun EXIF-nya tidak mencolok. Jika Anda berbagi gambar tanpa mengungkapkan perangkat keras Anda (laporan bug, pengiriman kompetisi, portofolio anonim), Exif SubIFD adalah tempat informasi pengidentifikasi tersebut berada. Hapus dan tautannya putus.
Aplikasi umum
Penghapusan EXIF muncul setiap kali foto berpindah tangan dan metadata yang dibawanya dapat menimbulkan masalah bagi pengirim atau subjek.
- Unggahan media sosial: sebagian besar platform menghapus EXIF di sisi server, tetapi menghapus di sisi klien terlebih dahulu berarti koordinat asli tidak pernah ditransmisikan ke server platform sama sekali. Jika pipeline mereka pernah bocor (atau diminta secara hukum), GPS asli tidak ada dalam log mereka karena tidak pernah dikirim.
- Jurnalisme dan fotografi dokumenter: agen berita dan meja foto memerlukan metadata bersih sehingga atribusi byline dan data keterangan dikendalikan oleh meja, bukan kamera. Editor foto di media terkemuka semua menjalankan gambar masuk melalui langkah scrub metadata sebelum naik ke wire.
- Daftar properti dan produk: agen properti dan penjual e-commerce secara rutin mengunggah foto yang diambil di alamat properti atau gudang. Menghapus GPS sebelum unggah mencegah daftar tersebut secara tidak sengaja mempublikasikan alamat bisnis yang tepat dalam file — berguna ketika gudang adalah tempat tinggal pribadi atau properti masih ditempati.
Contoh nyata
JPEG berukuran 3,5 MB yang diambil dengan iPhone terbaru membawa sekitar 12 KB metadata APP1: koordinat GPS dengan arah dan ketinggian, cap waktu pengambilan hingga milidetik, model kamera dan pengidentifikasi lensa, pengaturan keseimbangan putih, dan thumbnail 160×120 yang disematkan. Setelah penghapusan dengan jalur piexif default, file berukuran 3,488 MB. Itu 12 KB lebih ringan, identik piksel dengan aslinya, dan bebas dari ping lokasi. Panel GPS di atas akan menampilkan koordinat mana yang dihapus sebelum Anda mengunduh.
Apa itu metadata EXIF?
EXIF (Exchangeable Image File Format) adalah standar yang mendefinisikan cara kamera digital dan smartphone menyimpan metadata di dalam file gambar. JPEG smartphone tipikal membawa merek dan model kamera, panjang fokus lensa, kecepatan rana, ISO, lokasi GPS yang tepat (hingga beberapa meter), cap waktu pembuatan, dan thumbnail kecil yang disematkan — semuanya tidak terlihat dalam gambar yang dirender itu sendiri tetapi dapat dibaca oleh aplikasi yang mendukung EXIF, termasuk browser file OS dan sebagian besar alat pengeditan foto.
Mengapa saya harus menghapus EXIF sebelum berbagi foto?
Tag GPS mengungkapkan lokasi foto diambil, hingga beberapa meter. Bagikan foto tanpa menghapusnya dan Anda berbagi lokasi itu dengan semua orang yang menerima file. Nomor seri kamera dan pengidentifikasi lensa juga dapat mengidentifikasi sidik jari fotografer di berbagai unggahan terpisah, yang penting bagi siapa saja yang menerbitkan secara pseudonim. Penghapusan menghilangkan semua ini sebelum file meninggalkan perangkat Anda.
Apakah ini memengaruhi kualitas gambar?
Jalur piexif default menghapus segmen APP1 tanpa menyentuh piksel gambar, sehingga kualitasnya identik bit dengan aslinya. Jalur enkode ulang canvas (digunakan ketika "Pertahankan profil warna ICC" dimatikan, atau ketika "Pertahankan orientasi" aktif untuk gambar yang diputar) mengenkode ulang piksel pada nilai slider kualitas JPEG yang dipilih — atur slider ke 95 atau lebih tinggi untuk menjaga hasil visual mendekati sumber pada sebagian besar foto.
Bagaimana dengan file HEIC dari iPhone?
Penghapusan HEIC bergantung pada dukungan HEIC native browser Anda. Safari 13+ mendekode HEIC secara native; Chrome dan Firefox tidak. Jika browser Anda tidak dapat menampilkan HEIC, gunakan opsi "Ekspor sebagai JPEG" di ponsel Anda terlebih dahulu (di iOS Photos: Bagikan → Opsi → Paling Kompatibel), kemudian unggah JPEG di sini. Langkah penghapusan pada file yang dikonversi berfungsi sama seperti JPEG lainnya.
Setiap penghapusan berjalan secara lokal di browser Anda. Foto asli tidak pernah mencapai server mana pun, dan file yang dibersihkan dihasilkan sepenuhnya dari ArrayBuffer yang dimuat ke memori pada waktu unggah. Jatuhkan foto di atas, periksa metadatanya, dan unduh salinan yang telah dibersihkan.