Cara membuat GIF cukup kecil untuk dikirim
Rekaman layar lima detik berubah jadi GIF 20 MB, lalu terpental dari setiap batas upload yang ditemuinya. Aplikasi chat membatasi lampiran di paket gratis, forum sering hanya mengizinkan beberapa megabyte, dan penyedia email paling populer menolak lampiran di atas 25 MB. Avatar, slot emoji, dan gambar tanda tangan email lebih ketat lagi.
Kabar baiknya, hampir setiap GIF yang kebesaran membawa jauh lebih banyak data daripada yang bisa dilihat siapa pun. Panduan ini menjelaskan dari mana bobot itu berasal, cara memangkasnya secara terukur, dan kapan langkah yang tepat justru tidak mengirim GIF sama sekali.
Kenapa GIF bisa sebesar itu
Format ini lahir tahun 1987 dan dirancang untuk grafik kecil, bukan video. Setiap frame disimpan sebagai gambar tersendiri dengan kompresi LZW lossless, yang efektif pada bidang warna rata dan gagal pada apa pun yang berderau. Tidak ada kompensasi gerakan: codec video menyimpan wajah orang yang bicara di depan latar statis nyaris tanpa biaya setelah frame pertama, sementara GIF membayar seluruh frame lagi dan lagi.
Setiap frame juga dibatasi 256 warna. Saat GIF dibuat dari rekaman kamera, encoder menaburkan titik-titik dithering di setiap frame untuk memalsukan gradasi warna yang hilang, dan titik-titik itulah yang paling buruk dikompres oleh LZW.
Jadi ada tiga tuas, dan efeknya saling mengalikan:
- Frame rate. Turun dari 30 ke 12 fps membuang 60% frame. Sebagian besar GIF untuk chat tetap terlihat baik di 10 sampai 15 fps.
- Dimensi. Ukuran file mengikuti jumlah piksel, bukan lebar. Memperkecil ke 75% menyisakan 56% piksel; memperkecil ke 50% menyisakan seperempatnya.
- Palet. Palet 64 atau 128 warna yang dipilih khusus untuk animasi ini terkompres jauh lebih baik daripada 256.
Durasi adalah tuas keempat sekaligus yang paling murah: memotong satu detik membosankan di akhir loop tidak mengorbankan apa pun secara visual.
Mengecilkan GIF yang sudah ada
Kompres GIF online membangun ulang animasi dengan FFmpeg yang berjalan di browser Anda. Tahap pertama menganalisis seluruh animasi dan menyusun satu palet yang dioptimalkan; tahap kedua menggambar ulang setiap frame dengan palet itu memakai ordered dithering, yang meninggalkan pola teratur yang terkompres jauh lebih baik daripada derau acak.
- Pilih tingkat kompresi. Sedang terpilih secara default.
- Taruh satu atau beberapa GIF. Setiap baris menampilkan ukuran sebelum dan sesudah.
- Jika hasilnya masih terlalu besar, hapus, pindah ke tingkat berikutnya, lalu taruh file aslinya lagi.
Apa yang dilakukan setiap tingkat, dalam angka:
- Ringan: 15 fps, dimensi asli, hingga 256 warna. Untuk demo UI di mana setiap piksel teks harus tetap terbaca.
- Sedang: 12 fps, 75% lebar dan tinggi, hingga 128 warna. Percobaan pertama yang tepat untuk GIF reaksi dan rekaman yang dibagikan di chat.
- Kuat: 10 fps, separuh lebar dan tinggi, hingga 64 warna. Dibuat untuk batas yang ketat; jumlah frame dan jumlah piksel bersama-sama turun menjadi sebagian kecil dari aslinya.
Durasi tetap terjaga di setiap tingkat. Loop tiga detik tetap berdurasi tiga detik; hanya digambar dengan lebih sedikit frame. File hingga 100 MB diterima, dan tidak ada yang keluar dari perangkat Anda.
Tingkat mana untuk konten apa
- Rekaman layar dan panduan UI tahan terhadap pengurangan warna tetapi menderita saat diperkecil, karena teks kecil jadi buram. Mulailah dengan Ringan; jika belum cukup, lain kali rekam area yang lebih kecil alih-alih langsung ke Kuat.
- Stiker, logo, dan ilustrasi datar dengan sedikit warna terlihat hampir sama di 64 warna, jadi Kuat biasanya berhasil.
- Klip dari rekaman kamera dengan warna kulit, langit, dan gradasi akan menampakkan banding yang jelas di 64 warna. Sedang adalah batas atas yang lebih aman.
- Pixel art jangan pernah diperkecil. Gunakan Ringan.
Mulai dari video jika Anda masih menyimpannya
Jika GIF dibuat dari video dan sumbernya masih ada, membangunnya ulang sering lebih baik daripada memeras GIF jadi, karena Anda mengendalikan pengaturan sejak awal.
- Potong klip ke momen yang penting dengan Potong video online. Tiga detik untuk loop biasanya sudah cukup.
- Buka Konversi video ke GIF dan pilih lebar serta frame rate. Untuk chat, 320 atau 480 px di 10 fps adalah default yang andal; gunakan 640 px hanya untuk rekaman layar berisi teks.
- Konversi. Jika hasilnya masih sedikit di atas batas, jalankan lewat Kompres GIF online di tingkat Sedang.
Konversi video ke GIF selalu menghitung durasi maksimum dari 0:00, itulah sebabnya memotong lebih dulu itu penting: kalau tidak, Anda mendapat detik-detik pertama video, bukan bagian yang Anda inginkan.
Jawaban yang lebih baik, jika tujuannya mengizinkan
Jika tempat Anda memposting menerima video, kirim MP4. Lima detik yang sama yang memakan 20 MB sebagai GIF sering hanya beberapa ratus kilobyte sebagai H.264, dengan warna penuh dan frame rate penuh. Sebagian besar aplikasi chat modern memutar klip pendek tanpa suara langsung di percakapan dan berulang, jadi penerima praktis melihat hal yang sama. Beberapa messenger bahkan diam-diam mengonversi GIF yang diunggah menjadi video justru karena alasan ini.
Kompres video online menghasilkan MP4 H.264; Sedang adalah preset yang baik untuk chat. Untuk loop tanpa suara, trek audionya memang tidak perlu dipertahankan.
GIF tetap satu-satunya pilihan di tempat video tidak diizinkan atau tidak diputar otomatis: isi dan tanda tangan email, file README di sebagian layanan hosting, perangkat lunak forum lama, slot emoji kustom dan avatar, serta alat dokumentasi yang membuang video. Gunakan GIF di sana, dan video di tempat lain.
Situasi umum
- Aplikasi chat menolak file karena terlalu besar. Coba Sedang dulu. Jika GIF berasal dari rekaman layar lebih dari sepuluh detik, perpendek dari sumbernya alih-alih langsung ke Kuat.
- Forum membatasi lampiran beberapa megabyte. Kuat, dan jika masih terlalu besar, buat ulang dari klip sumber di 320 px dan 8 sampai 10 fps.
- Tanda tangan email atau newsletter. Jaga animasi di bawah beberapa ratus kilobyte: dimensi kecil, sedikit frame, Kuat. Gambar animasi yang besar membuat email lambat dibuka, dan sebagian klien email hanya menampilkan frame pertama.
- GIF reaksi untuk grup chat. Lebar 320 px sudah lebih dari cukup di layar ponsel. Tidak ada yang menyadari 10 fps dalam reaksi dua detik.
Pemecahan masalah
- File nyaris tidak mengecil. Sumbernya sudah teroptimasi: kecil, frame rate rendah, atau sedikit warna. Naikkan satu tingkat. Jika aslinya berjalan di 10 fps atau kurang, Ringan bahkan bisa menambah frame, jadi langsung lompat ke Sedang atau Kuat.
- Muncul banding di gradasi. Itu akibat palet 128 atau 64 warna. Mundur ke tingkat yang lebih ringan atau potong bagian langit atau latar yang lembut.
- Muncul tekstur kisi halus. Ini pola ordered dithering, paling terlihat pada gradasi halus di tingkat Kuat.
- Satu adegan warnanya aneh. Seluruh animasi berbagi satu palet, jadi adegan pendek dengan warna tak biasa hanya mendapat sedikit slot palet. Membuang adegan itu lebih membantu daripada pengaturan apa pun.
- Halaman terasa macet. Mesin FFmpeg diunduh sekali saat pertama kali dipakai, lalu berjalan secara lokal. GIF besar bisa memakan waktu hingga satu menit di laptop dan lebih lama di ponsel.
Daftar periksa
- Apakah tujuannya menerima MP4? Jika ya, kirim MP4 yang sudah dikompres.
- Potong durasi ke bagian yang penting sebelum melakukan apa pun.
- Untuk chat, targetkan 320 sampai 480 px di 10 sampai 12 fps.
- Kompres di tingkat Sedang; pindah ke Kuat hanya untuk batas yang ketat.
- Periksa hasilnya di ukuran tampilan sebenarnya sebelum mengirim.
Diterbitkan 2026-10-08