Dibangun dengan AI canggih di perangkat Anda dan akselerasi perangkat keras untuk performa profesional dengan privasi tanpa kompromi.AI di perangkat — profesional dan privat.
Ubah Ukuran GIF
Ubah ukuran GIF animasi dalam piksel atau persen — waktunya tetap utuh.
- Tanpa unggah
- Piksel persis
- Perbesaran termasuk
- Mode pixel art
Letakkan GIF di sini
GIF, WebP animasi, atau APNG
Pas adalah satu-satunya yang tidak mengubah apa pun pada gambarnya sendiri.
Piksel memakai nearest-neighbour — tanpa warna baru di tepi, sprite tetap tajam.
Cara mengubah ukuran GIF
Ubah dimensi GIF animasi dengan mengetik piksel persis atau persentase, tanpa kehilangan animasinya.
- 1
Tambahkan GIF Anda
Seret GIF animasi ke area unggah, atau klik untuk menelusuri. WebP animasi dan APNG juga bisa. Berkas dibaca di perangkat Anda dan tidak pernah diunggah.
- 2
Tetapkan ukurannya
Ketik lebar, tinggi, atau keduanya — dengan kunci rasio aktif, mengisi satu akan mengisi yang lain. Persentase juga bisa, dan melebihi 100% akan memperbesar, bukan diabaikan.
- 3
Pilih cara menangani bentuk berbeda
Jika kotak tujuan Anda berbeda proporsinya, pilih pas, regangkan, potong, atau isi. Pas adalah pilihan aman: tidak ada yang terdistorsi maupun terpotong.
- 4
Unduh GIF yang sudah diubah ukurannya
Tekan Unduh. Jeda tiap frame, jumlah pengulangan, dan transparansi keluar tanpa perubahan, jadi animasinya diputar persis seperti sebelumnya.
Mengapa mengubah ukuran GIF
GIF datang dengan ukuran saat ia dibuat, dan ukuran itu jarang sekali ukuran yang Anda butuhkan. Rekaman layar yang diambil pada lebar 1920 piksel tidak berguna sebagai lampiran surel dan tidak terbaca sebagai emoji 128 piksel. GIF reaksi yang diambil dari ponsel lebarnya 480 sementara kolom dokumentasi 700. Dan tidak seperti foto, Anda tidak bisa sekadar membiarkan peramban menskalakannya: GIF yang ditampilkan lebih kecil dari ukuran aslinya tetap mengunduh seluruh pikselnya pada ukuran penuh, jadi pembaca membayar resolusi yang tidak pernah ia lihat.
Ketik dimensi persis atau persentase, perbesar sekaligus perkecil, dan beralih ke mode Piksel agar tepi sprite tetap tajam.
Membaca GIF, WebP animasi, dan APNG. Menulis GIF89a standar dengan jeda tiap frame, jumlah pengulangan, dan transparansi tetap terjaga.
Apa yang sebenarnya didapat dari mengubah dimensi
- Bita, dalam jumlah besar. Memotong lebar dan tinggi menjadi setengah menghilangkan sekitar tiga perempat data piksel. Ini pengurangan ukuran termurah yang ada, karena tidak berbiaya apa pun pada geraknya.
- Slot yang pas. Slot emoji, bingkai avatar, dan kolom dokumentasi punya lebar tetap. Yang tidak muat akan dipotong oleh aturan orang lain atau diskalakan oleh algoritme orang lain.
- Keterbacaan. Teks di dalam rekaman layar entah terbaca pada ukuran tampilnya atau sekadar hiasan. Mengubah ukuran dengan sengaja adalah cara mengetahuinya sebelum menerbitkan.
- Sprite yang tetap tajam. Pixel art yang diperbesar dengan penghalusan rusak dan tidak bisa dipulihkan. Diperbesar dengan nearest-neighbour, ia sempurna pada kelipatan bulat apa pun.
Bedanya mengubah ukuran animasi dan mengubah ukuran gambar
Gambar diam punya satu raster. GIF animasi punya setumpuk raster, masing-masing mungkin hanya menutupi sebagian kanvas, masing-masing dengan jeda, palet, dan mask transparansinya sendiri. Mengubah ukurannya dengan benar berarti mengomposisikan setiap frame ke kanvas penuh dulu, menskalakan itu, lalu membangun ulang palet untuk seluruh animasi alih-alih satu per frame. Alat yang melewati langkah komposisi menghasilkan keluaran yang meloncat, karena frame yang secara sah hanyalah tambalan 30 piksel bergeser akan diskalakan seolah-olah ia gambar utuh.
Apa yang terjadi pada tiap frame
- Komposisi. Setiap frame digambar ke kanvas seukuran logis animasi, menghormati pergeserannya, metode pembuangannya, dan transparansinya, sehingga yang diskalakan adalah gambar yang benar-benar akan dilihat penonton.
- Skala. Satu penggambaran per frame pada ukuran target, di perangkat keras grafis Anda bila tersedia. Penghalusan menyala untuk materi fotografis, mati untuk pixel art.
- Kuantisasi ulang. Palet dibangun dari cuplikan yang tersebar di seluruh animasi, bukan dari frame pertama, lalu setiap piksel dipetakan padanya.
- Optimasi ulang. Area yang tidak berubah antar-frame ditandai transparan lagi pada ukuran baru, dan ke sanalah sebagian besar ukuran berkas pergi.
Apa yang tidak boleh diubah pengubah ukuran
Tiga hal harus keluar persis seperti saat masuk: jeda milik tiap frame, jumlah pengulangan, dan piksel mana yang transparan. Alat yang mengubah waktu sambil mengubah ukuran menghasilkan GIF yang sepenuhnya sah namun berjalan pada kecepatan yang salah, dan alat yang meratakan transparansi menghasilkan gambar dengan kotak putih di sekelilingnya. Keduanya diperiksa di sini pada setiap proses, bukan diasumsikan.
Halus atau Piksel: pilihan yang tidak bisa dibatalkan
Setiap pengubah ukuran menghaluskan secara bawaan, dan untuk foto itu benar: menginterpolasi antar-piksel tetangga adalah yang mencegah foto terskala terlihat seperti mozaik. Untuk pixel art, itu merusak dengan cara yang tak terbalikkan. Garis tepi hitam setebal satu piksel pada sprite, diperbesar empat kali dengan penghalusan, menjadi gradasi abu setebal empat piksel; tepi tajamnya hilang dan penajaman apa pun tidak mengembalikannya. Nearest-neighbour cukup mengulang setiap piksel sumber, jadi perbesaran 4× mengubah setiap piksel menjadi blok bersih 4×4. Diukur pada sprite uji alat ini dari 64 ke 256: penghalusan menghasilkan 94 warna berbeda pada baris tengah, nearest-neighbour menghasilkan tepat 8 — jumlah yang memang dimiliki sumbernya.
Hasil terukur
- Nearest-neighbour lawan penghalusan 8 warna berbeda pada satu baris lawan 94, pada sumber yang memuat 8. Modenya adalah bedanya antara menjaga karyanya dan merata-ratakannya.
- Akurasi resampling Mode halus berbeda dari lanczos3 milik libvips sebesar 3,31/255 rata-rata — dua implementasi independen yang sepakat.
- Pengisian transparan lawan solid 49.167 B lawan 13.961 B untuk gambar yang sama. Pengisian transparan mengorbankan optimasi antar-frame, yang di sini bernilai 3,5×.
- Kecepatan 100 frame dari 480×270 ke 960×540 dalam 1.149 ms; klip yang sama ke 240×135 dalam 112 ms.
Memilih dimensi yang bekerja
Kesalahan paling umum adalah mengubah ukuran ke angka yang terdengar rapi alih-alih ke angka yang dipakai tujuannya. Sebelum mengetik apa pun, cari tahu pada ukuran berapa tujuannya benar-benar merender — kolom dokumentasi, slot emoji, lebar sebaris klien obrolan — lalu samakan persis. Mengubah ke 500 saat kolomnya 700 membuat peramban menskalakannya kembali dan membatalkan pekerjaan Anda; mengubah ke 1400 untuk kolom 700 melipatgandakan unduhan demi perbedaan yang hanya terlihat di layar berkerapatan tinggi, itu pun hanya jika sumbernya memang punya detailnya.
Menurut materi
- Rekaman layar dengan teks. Jangan turun di bawah ukuran saat teksnya masih terbaca: lihat pratinjaunya, bukan angkanya. Di sini penghalusan yang tepat; teksnya memang sudah dihaluskan.
- Pixel art dan sprite. Beralih ke Piksel dan gunakan kelipatan bulat: 2×, 3×, 4×. Skala tak bulat pada pixel art menghasilkan blok tak rata bahkan dengan nearest-neighbour, karena sebagian piksel sumber jatuh ke dua piksel keluaran dan sebagian ke tiga.
- Materi yang berasal dari video. Penghalusan, dan perkecil alih-alih perbesar. Memperbesar frame dari video memunculkan artefak kompresi yang tak terlihat pada ukuran aslinya.
- Apa pun yang masuk ke persegi tetap. Potong, bukan Isi. Persegi yang diisi punya bilah kosong yang terlihat; yang dipotong mengisi slotnya seperti gambar lain di dalamnya.
Di mana GIF yang diubah ukurannya adalah jawabannya
- Emoji kustom. Discord dan Slack sama-sama menerima 128×128 dan menolak hampir semua yang di atas 256 KB — jadi alat ini dan kompresor biasanya dipakai bersama.
- Dokumentasi dan berkas README. Samakan dengan lebar kolom yang dirender agar peramban tidak menskalakan apa pun sendiri.
- Tanda tangan surel. Dimensi kecil adalah satu-satunya cara andal membuat animasi berada di bawah batas yang diterima kebanyakan server.
- Avatar dan foto profil. Persegi, dipotong, dan cukup kecil untuk termuat sebelum halamannya selesai digambar.
Ukuran yang layak diingat
Emoji kustom Discord dan Slack berukuran 128×128. X merender gambar sebaris hingga lebar 506 piksel. Kolom README di GitHub selebar 768 pada lebar penuh dan sekitar 700 dalam praktiknya. Sebagian besar tema dokumentasi berada antara 680 dan 760. Apa pun yang lebih lebar dari kolom tempatnya mendarat adalah bita yang diunduh pembaca dan tidak pernah dilihatnya.
Apa yang masuk dan apa yang keluar
Daftar masukan bersifat tertutup dan ditegakkan di dialog berkas, bukan di mesinnya, sehingga berkas yang tidak bisa dibuka alat ini ditolak dalam milidetik beserta arahan ke alat yang bisa, alih-alih diterima lalu gagal belakangan di balik indikator pemuatan.
- GIF masuk. Beranimasi atau satu frame, terjalin atau tidak, dengan palet global atau palet lokal berbeda di tiap frame. Frame yang hanya sub-persegi bergeser dikomposisikan ke kanvas penuh sebelum apa pun diskalakan.
- WebP animasi dan APNG masuk. Keduanya dibaca oleh demuxer kami sendiri di setiap peramban, jadi frame dan waktunya identik di mana pun.
- GIF keluar, selalu. GIF89a standar dengan tabel warna global, jeda tiap frame, metode pembuangan, dan ekstensi pengulangan Netscape.
- Selain itu ditolak beserta arahan. Video diarahkan ke Video ke GIF, gambar diam ke Pembuat GIF.
Apa yang dibaca alat ini
GIF didekode secara bawaan di tempat peramban punya dekodernya, dan oleh pembaca kami sendiri di tempat lain, sehingga animasi terbuka sama di setiap peramban alih-alih datang sebagai frame pertamanya. WebP animasi dan APNG selalu melewati pembaca kami sendiri, dan itulah yang menjaga jumlah frame serta waktunya identik di semua mesin.
Batas ukuran dan kumpulan
- Gratis. Satu berkas hingga 50 MB dan hingga 300 frame, keluaran hingga 2048 piksel pada sisi panjang. Kualitas penuh: paket gratis bukan pengubahan ukuran berkualitas rendah, melainkan satu berkas saja.
- Pro. Hingga 20 berkas sekaligus, diunduh sebagai satu ZIP, tanpa batas dimensi yang dipaksakan. Kumpulan adalah yang dibeli Pro di sini, karena mengubah ukuran satu set emoji atau satu folder klip satu per satu adalah pekerjaan membosankan yang sebenarnya.
- Batas yang berlaku di kedua paket. Setiap frame dibentangkan ke warna penuh selagi diproses, jadi anggaran memori membatasi pekerjaan sebelum dimulai, alih-alih membiarkan tab berhenti merespons sementara indikatornya terus berputar.
Apa yang terjadi di perangkat Anda
Tidak ada yang diunggah. Berkas didekode frame demi frame di mesin Anda, tiap frame dikomposisikan dan diskalakan, palet dibangun untuk seluruh animasi, area tak berubah ditandai transparan lagi, dan hasilnya ditulis sebagai GIF89a standar. Semuanya berjalan di utas latar agar halaman tetap responsif, dan penskalaannya sendiri berjalan di perangkat keras grafis Anda bila tersedia.
Mengapa berkas yang sama selalu berubah ukuran identik
- Kuantiser deterministik. Median cut, bukan kuantiser neural acak yang dipakai sebagian besar pustaka GIF, jadi masukan yang sama dengan pengaturan yang sama selalu menghasilkan keluaran identik bita demi bita.
- Hasil identik di setiap jalur. Jalur berakselerasi grafis dan jalur prosesor wajib menghasilkan bita yang sama, bukan sekadar mirip — jalur yang memilih entri palet berbeda akan tampak sebagai kedipan warna antar-frame.
- Geometri diperiksa oleh implementasi lain. Resampling halus diverifikasi terhadap libvips, pustaka gambar yang sepenuhnya terpisah, bukan terhadap keluaran kami sendiri sebelumnya.
Penskalaan berakselerasi perangkat keras bila perangkat Anda mendukungnya, dan jalur berakselerasi maupun jalur cadangan diverifikasi menghasilkan bita yang identik. Resampling halus diperiksa terhadap pustaka gambar independen. Diukur pada mesin acuan: 100 frame dari 480×270 ke 960×540 dalam 1.149 ms. Semua berjalan di perangkat Anda, bukan di server kami.
Pertanyaan umum
Bisakah saya memperbesar GIF, bukan hanya memperkecil?
Bisa. Ukuran yang Anda ketik diperlakukan sebagai permintaan, bukan batas, jadi memasukkan lebar yang lebih besar dari sumbernya akan memperbesar animasinya. Bersikap realistis soal hasilnya: memperbesar tidak bisa menambahkan detail yang tidak pernah terekam, dan GIF 200 piksel yang ditarik ke 800 akan terlihat lembek. Pengecualiannya adalah pixel art: dengan mode Piksel, perbesaran menjadi sempurna karena setiap piksel sumber berubah menjadi blok yang bersih.
Kenapa GIF saya jadi buram setelah diubah ukurannya, dan bagaimana mencegahnya?
Karena resampling bawaan menghaluskan antar-piksel, yang tepat untuk materi fotografis dan salah untuk sprite, tangkapan teks, dan apa pun dengan tepi keras satu piksel. Ubah mode resampling ke Piksel: ia memakai nearest-neighbour, jadi tidak ada warna baru yang diciptakan di tepi dan bloknya tetap persegi. Pada sprite uji kami, penghalusan menghasilkan 94 warna berbeda pada satu baris yang sumbernya hanya punya 8; nearest-neighbour menghasilkan tepat 8.
Bagaimana kalau ukuran target saya berbeda bentuk dari GIF-nya?
Anda yang memilih. Pas mempertahankan proporsi dan mengecilkan kotak keluaran, jadi tidak ada yang terpotong atau terdistorsi. Regangkan mengisi kotak Anda persis dan mendistorsi gambar. Potong mengisi kotak Anda persis dan memotong kelebihannya sama rata di kedua sisi. Isi mengisi kotak Anda persis dan membiarkan sisanya kosong. Pas adalah bawaan karena ia satu-satunya dari keempatnya yang tidak mengubah apa pun pada gambarnya sendiri.
Apakah mengubah ukuran mengubah kecepatan animasi?
Tidak. Setiap frame mempertahankan jedanya sendiri, dan total durasi pemutaran identik sebelum dan sesudah. Ini layak diperiksa pada alat mana pun, karena mengubah waktu sambil mengubah ukuran menghasilkan GIF yang sepenuhnya sah namun berjalan pada kecepatan yang salah, dan tidak ada yang tampak keliru pada berkasnya.
Apakah latar transparan saya tetap terjaga?
Ya. Transparansi GIF adalah indeks palet per frame, bukan kanal alfa, dan ia bertahan melewati proses pengubahan ukuran. Jika Anda memakai Isi dengan pengisian transparan, area tambahannya juga transparan — dengan sedikit biaya ukuran, karena pengisian transparan dan optimasi antar-frame membutuhkan slot palet yang sama. Mengisi dengan warna solid mempertahankan optimasi dan menghasilkan berkas yang jauh lebih kecil.
Apakah mengubah ukuran membuat berkasnya lebih kecil?
Biasanya ya, dan sering kali banyak: memotong kedua dimensi menjadi setengah menghilangkan sekitar tiga perempat data piksel. Tetapi ukuran bukan tujuan di sini — kalau yang Anda butuhkan adalah ukuran berkas tertentu, Kompresor GIF menyelesaikannya langsung, menyetel dimensi, palet, dan laju frame bersama-sama sampai mencapai angka yang Anda sebutkan.
Bisakah saya mengubah ukuran beberapa GIF sekaligus?
Di Pro, bisa — hingga 20 berkas sekaligus, diunduh bersama sebagai satu ZIP. Semuanya mendapat pengaturan yang sama, dan itulah yang membuatnya berguna untuk satu set emoji atau sekumpulan klip dokumentasi. Paket gratis menangani satu berkas pada satu waktu, dengan kualitas penuh.
Berapa ukuran GIF untuk Discord, Slack, atau X?
Emoji kustom Discord dan Slack berukuran 128 kali 128. X menampilkan gambar sebaris hingga lebar 506 piksel. Ketiganya tersedia sebagai prasetel di sini, dan dua yang persegi memakai Potong alih-alih Isi, karena emoji dengan bilah kosong di slot persegi terbaca seperti kesalahan.
Bisakah mengubah ukuran GIF tanpa kehilangan kualitas?
Memperkecil selalu membuang informasi — itulah arti memperkecil — tetapi kehilangannya biasanya tak terlihat, karena GIF yang ditampilkan pada ukuran barunya sudah tidak punya detail untuk ditunjukkan. Memperbesar tidak kehilangan apa pun, tetapi juga tidak menambah apa pun, kecuali pada pixel art yang diskalakan dengan bilangan bulat dalam mode Piksel, yang benar-benar tanpa kehilangan. Satu kehilangan yang bisa dihindari adalah palet: alat ini mengkuantisasi ulang seluruh animasi, bukan per frame, jadi warnanya tetap stabil alih-alih bergeser antar-frame.
Sudah saya ubah ukurannya tapi berkasnya masih terlalu besar. Lalu bagaimana?
Mengubah ukuran hanya membuang data piksel; ia tidak menyentuh palet, laju frame, maupun optimasi antar-frame, yang bersama-sama menyumbang sebagian besar ukuran sebuah GIF. Gunakan Kompresor GIF setelahnya — atau sebagai gantinya. Ia menyetel keempat tuas bersamaan dan bisa langsung mencari ukuran berkas yang Anda sebutkan, yang biasanya memang pertanyaan sebenarnya.