Pengecil CSS
BaruPerkecil CSS dengan membuang komentar dan spasi kosong yang tidak perlu.
Runs entirely in your browser. Nothing is uploaded.
Minify dan kompres CSS di satu tempat
CSS minifier ini memperkecil stylesheet Anda dengan menghapus setiap karakter yang tidak dibutuhkan browser — komentar, spasi, baris baru, dan titik koma terakhir yang redundan di setiap rule — sehingga file yang Anda kirim jauh lebih kecil namun tampil persis sama. Tempel kode Anda atau seret file .css ke halaman, dan hasil terkompresi muncul seketika lengkap dengan jumlah byte serta persentase yang berhasil Anda hemat.
Alat ini sekaligus berfungsi sebagai kompresor CSS dan CSS beautifier: satu toggle mengubah mode dari minify ke un-minify, sehingga alat yang sama yang memampatkan stylesheet juga bisa mengembalikan CSS yang sudah di-minify menjadi kode yang rapi, terindentasi, dan mudah dibaca. Perlu membaca stylesheet produksi yang dipadatkan jadi satu baris? Beralihlah ke mode Beautify: alat ini mengindentasi ulang kode, menempatkan setiap deklarasi pada barisnya sendiri, dan menambahkan spasi setelah setiap titik dua. Anda bisa memilih indentasi 2 spasi, 4 spasi, atau tab sesuai gaya proyek Anda. Karena minify dan beautify saling bolak-balik, Anda bisa menempel CSS produksi yang ter-minify, membacanya, mengubahnya, lalu me-minify-nya lagi — semuanya tanpa meninggalkan halaman.
Apa yang dihapus — dan apa yang tidak pernah disentuh
Saat Anda minify CSS, alat ini menghapus komentar, memampatkan semua whitespace, membuang spasi di sekitar simbol seperti { } : ; , > +, dan menghilangkan titik koma terakhir sebelum setiap kurung kurawal penutup. Aktifkan mode Aggressive dan alat ini juga menghapus nol di depan koma (0.5em → .5em) serta satuan pada nilai nol (0px → 0).
Yang terpenting, prosesnya lossless. String dalam tanda kutip, nilai url(), dan ekspresi calc() dilindungi sebelum apa pun dihapus, sehingga nilai seperti calc(100% - 2rem) tetap mempertahankan spasi wajibnya dan path gambar latar tidak pernah rusak. Banyak minifier online instan salah menangani calc() — alat ini tidak. Hasilnya identik byte demi byte secara makna: .a { color: red; } dan .a{color:red} dirender persis sama di semua browser.
Transformasi spesifik yang dilakukan minifikasi
Minifikasi CSS bukan satu operasi tunggal — ia adalah rangkaian transformasi terarah yang masing-masing memangkas byte dengan cara berbeda. Di level paling dasar, seluruh whitespace (spasi, tab, baris baru) di antara token dipampatkan menjadi kosong, dan setiap blok /* komentar */ dibuang. Yang kurang terlihat namun sama berharganya: titik koma terakhir di setiap blok deklarasi sebenarnya redundan (parser CSS tidak membutuhkannya sebelum kurung penutup), sehingga color: red; menjadi color: red — satu byte per rule.
Pass yang lebih lanjut menyasar nilainya sendiri. Penghapusan satuan nol mengubah 0px, 0em, 0%, dan nilai panjang nol lainnya menjadi 0 polos, karena satuan tidak bermakna ketika angkanya nol. Penghapusan nol di depan memendekkan 0.75rem menjadi .75rem. Singkatan warna mengubah warna hex enam digit dengan pasangan berulang — #ffffff menjadi #fff, #112233 menjadi #123. Penggabungan properti shorthand memadatkan empat deklarasi margin atau padding terpisah menjadi satu shorthand: margin: 10px 0 10px 0 menjadi margin: 10px 0. Gabungan pass-pass ini secara rutin mengurangi ukuran stylesheet nyata sebesar 15–30% sebelum kompresi jaringan menyentuhnya.
Konsolidasi selector redundan adalah optimasi lain yang diterapkan sebagian minifier: rule duplikat yang menyasar selector yang sama digabungkan. Tidak semua minifier melakukannya — dibutuhkan model stylesheet di memori, bukan sekadar satu pass maju — tetapi alat seperti cssnano menyertakannya sebagai transformasi lanjutan opsional. Penting memahami transformasi mana yang diterapkan minifier Anda: optimasi agresif hampir selalu aman untuk nilai properti, tetapi penggabungan selector atau at-rule secara teoretis dapat mengubah perilaku cascade jika urutan spesifisitas berperan di kasus-kasus tepi.
CSS bersifat render-blocking — ukuran file langsung memengaruhi waktu paint
Secara default, setiap stylesheet eksternal bersifat render-blocking: browser tidak akan menggambar satu piksel pun sebelum mengunduh, mem-parse, dan menerapkan seluruh file CSS di <head>. Ini membuat CSS sangat sensitif terhadap ukuran file dibandingkan sumber daya lain. Bundle JavaScript 200 KB bisa ditunda; stylesheet besar tidak bisa, tanpa rekayasa yang cermat. Setiap kilobyte CSS yang dipangkas lewat minifikasi langsung mempersingkat jeda antara permintaan jaringan pertama browser dan momen ia bisa merender konten — metrik yang diukur langsung oleh Core Web Vitals Google sebagai Largest Contentful Paint (LCP).
Angka dunia nyata: stylesheet Bootstrap 4 berukuran sekitar 187 KB tanpa minifikasi. Distribusi minified resminya sekitar 147 KB — pengurangan 40 KB hanya dari penghapusan whitespace dan komentar. Setelah CDN menerapkan kompresi Brotli, angkanya turun lagi menjadi kira-kira 22 KB yang benar-benar terkirim — pengurangan 88% dari ukuran sumber asli. Untuk stylesheet tulisan tangan pada koneksi 3G, kombinasi yang sama bisa menggeser LCP ratusan milidetik — perbedaan yang tercatat langsung di skor PageSpeed Google.
Multiplexing HTTP/2 dan HTTP/3 mengurangi penalti banyak permintaan kecil, tetapi tidak berpengaruh pada waktu parse: begitu byte tiba, parser CSS browser tetap harus menelusuri setiap karakter dalam file. File yang lebih kecil di-parse lebih cepat di semua perangkat, termasuk ponsel Android kelas bawah. Time to First Byte (TTFB) mengukur latensi server; waktu render-blocking adalah soal apa yang terjadi setelah byte tiba. Minifikasi menyerang jendela kedua itu, yang tidak bisa disentuh oleh optimasi TTFB seperti penempatan CDN atau edge caching.
Minifikasi vs bundling vs tree-shaking
Minifikasi menghapus karakter redundan dari CSS yang memang sudah Anda kirim. Ia memperkecil file tanpa mengubah selector yang ada, dan menjadi langkah terakhir dalam pipeline build. Minifikasi tidak bisa menghapus selector yang tidak Anda butuhkan — ia tidak tahu selector mana yang benar-benar dipakai HTML Anda.
Bundling menyelesaikan masalah berbeda: menggabungkan beberapa file CSS menjadi satu untuk mengurangi jumlah permintaan HTTP. Sebelum HTTP/2, setiap stylesheet tambahan berarti round-trip TCP ekstra. Di bawah multiplexing HTTP/2, bundling kurang berpengaruh pada latensi permintaan, tetapi tetap mengurangi overhead header dan bisa meningkatkan efisiensi cache. Bundling tidak memperkecil rule individual — ia hanya menggabungkan file.
Tree-shaking (atau PurgeCSS, padanannya untuk CSS) adalah sumber penghematan terbesar saat Anda memakai framework CSS. Bootstrap, Tailwind CSS, dan Bulma mengirim ribuan selector untuk setiap kombinasi komponen dan utilitas, sedangkan proyek Anda mungkin hanya memakai 5–15% di antaranya. Tree-shaking memindai file HTML, JavaScript, dan template Anda untuk nama class yang benar-benar dirujuk, lalu membuang sisanya. Proyek Tailwind dengan semua utilitas aktif dimulai dari lebih dari 3 MB CSS; setelah tree-shaking biasanya tinggal 5–30 KB — sebelum minifikasi. Ketiga teknik ini adalah langkah yang saling melengkapi dalam pipeline build, bukan pilihan alternatif: tree-shake dulu, bundle untuk menggabungkan file, lalu minify hasilnya.
Perbandingan dengan cssnano, CleanCSS, LightningCSS, dan cssminifier.com
cssnano adalah standar industri untuk pipeline otomatis. Ia adalah plugin PostCSS, sehingga terintegrasi langsung ke Vite, webpack, dan Parcel, serta menghasilkan source map. CleanCSS adalah alternatif Node.js yang lebih lama namun masih banyak dipakai, dengan antarmuka web di cleancss.com. LightningCSS (dulu Parcel CSS) adalah parser dan minifier CSS berbasis Rust yang dalam benchmark sekitar 100× lebih cepat daripada alat berbasis JavaScript pada stylesheet besar; Vite 4.4+ menyertakannya sebagai minifier opsional. esbuild, yang ditulis dengan Go, juga jauh lebih cepat daripada alat Node.js meski menangani lebih sedikit transformasi lanjutan.
Alat-alat itu memerlukan Node.js atau build pipeline. Sebaliknya, cssminifier.com, CSS minifier freeformatter.com, dan CSS minifier TopTal semuanya berbasis server — kode Anda diunggah keluar dari perangkat Anda. Untuk stylesheet milik klien, desain yang belum dirilis, atau tooling internal, itu risiko privasi nyata. Alat UtiloKit ini memproses semuanya secara lokal dengan JavaScript: tidak ada yang diunggah, tanpa akun, tanpa install — berjalan di iPhone, Android, Mac, Windows, dan Linux. Aturan praktisnya: gunakan build tool (cssnano, LightningCSS, esbuild) untuk apa pun yang berada di version control dengan tahap build; gunakan minifier manual seperti ini untuk CSS di luar pipeline — CSS tema WordPress, blok <style> di email HTML, atau potongan sekali pakai.
Mengapa minifikasi tetap penting meski server sudah meng-gzip — dan 100% privat
Kesalahpahaman umum: kompresi sisi server (Gzip atau Brotli) membuat minifikasi CSS jadi mubazir. Tidak begitu — kedua teknik menyerang masalah berbeda dan saling menguatkan, bukan bersaing. Gzip dan Brotli bekerja dengan menemukan urutan byte berulang di seluruh file dan menggantinya dengan referensi balik. CSS yang sudah di-minify menghasilkan lebih sedikit urutan token unik, sehingga mengirim CSS minified lewat Brotli biasanya memberi rasio kompresi 3–8% lebih baik daripada versi terformat — keuntungan gratis dari melakukan keduanya. Sebagai teks mentah, minifikasi umumnya menghemat 10–30%; digabung gzip atau Brotli di server, pengurangan totalnya biasanya 70–80%.
Alasan kedua: tidak semua byte terkompresi. Klien yang mengabaikan header Content-Encoding, proxy yang mencopot encoding, salah konfigurasi CDN, atau cache service worker yang menyimpan salinan tak terkompresi akan menyajikan byte mentah. Ada juga waktu parse: dekompresi terjadi di lapisan jaringan sebelum parser CSS melihat byte-nya, sehingga file terdekompresi yang lebih kecil — yakni yang sudah di-minify — berarti parse lebih cepat apa pun yang terjadi di jaringan. Bilah statistik alat ini menampilkan ukuran asli, ukuran keluaran, byte dan persentase yang dihemat, plus estimasi gzip yang dihitung lokal di browser Anda — semuanya dalam byte UTF-8 nyata, bukan hitungan karakter.
Setiap proses minify dan beautify berjalan lokal di browser Anda menggunakan JavaScript. CSS Anda tidak pernah diunggah, dicatat, atau disimpan, sehingga aman untuk mengompres stylesheet proprietary, belum dirilis, atau milik klien. Tidak ada pendaftaran dan tidak ada batas selain memori perangkat Anda. Alat ini juga bekerja offline — setelah halaman termuat, putuskan internet Anda dan minifier tetap berjalan. Simpan bookmark CSS minifier online ini dan gunakan kapan pun Anda perlu mengompres CSS, memperkecil file, atau membaca stylesheet yang sudah di-minify.
Frequently asked questions
Apa itu minifikasi CSS?
Minifikasi CSS menghapus setiap karakter yang tidak dibutuhkan browser — spasi, tab, baris baru, komentar, titik koma terakhir di setiap blok — tanpa mengubah cara kerja style. Contohnya, '.btn {\n color: #ffffff;\n margin: 0px;\n}' (sekitar 48 byte) ter-minify menjadi '.btn{color:#ffffff;margin:0}' (28 byte). Hasil rendernya identik. Minifikasi adalah langkah standar dalam alur kerja performa web mana pun karena file yang lebih kecil diunduh lebih cepat dan di-parse lebih cepat, memperbaiki Core Web Vitals dan pengalaman pengguna.
Mengapa perlu minify CSS?
Stylesheet yang lebih kecil berarti lebih sedikit byte lewat jaringan, artinya unduhan lebih cepat, First Contentful Paint lebih singkat, dan Core Web Vitals lebih baik — terutama pada koneksi seluler. Stylesheet tulisan tangan 60 KB sering turun menjadi sekitar 45 KB setelah minifikasi, dan jauh lebih kecil lagi setelah server meng-gzip-nya. Setiap kilobyte yang Anda pangkas adalah kilobyte yang tidak perlu diambil atau di-parse browser. Meskipun build produksi Anda sudah menangani minifikasi otomatis, alat ini berguna untuk stylesheet sekali pakai, CSS tema WordPress, style email HTML, atau apa pun di luar pipeline build biasa Anda.
Apa saja yang dihapus saat minifikasi?
Whitespace (spasi, tab, dan baris baru), komentar, titik koma terakhir sebelum tiap kurung penutup, serta spasi di sekitar simbol seperti { } : ; , > + dihapus. Di mode Aggressive, alat ini juga menghapus nol di depan ('0.5em' menjadi '.5em') dan satuan pada nilai nol ('0px' menjadi '0'). String, nilai url(), dan perhitungan calc() tidak pernah disentuh, sehingga konten dan nilai dinamis Anda tetap benar. Keluarannya lossless — dirender identik dengan aslinya di semua browser.
Seberapa kecil CSS setelah di-minify?
Sebagai teks mentah, minifikasi biasanya menghemat 10–30%. Dikombinasikan dengan gzip atau Brotli di server, pengurangan totalnya umumnya 70–80%. Contoh nyata: stylesheet tulisan tangan 100 KB menjadi kira-kira 75 KB setelah minifikasi, lalu sekitar 18 KB setelah gzip — jadi pengunjung hanya mengunduh sebagian kecil dari aslinya. Alat ini menampilkan ukuran minified, estimasi gzip, dan byte tepat yang dihemat berdampingan, sehingga Anda melihat kedua penghematan sekaligus tanpa langkah pengukuran terpisah.
Apakah minifikasi mengubah cara kerja CSS?
Tidak. Minifikasi hanya menghapus karakter yang memang diabaikan browser, sehingga setiap selector, properti, dan nilai setara byte demi byte secara makna. '.a { color: red; }' dan '.a{color:red}' dirender identik. Selama minifier melindungi string, url(), dan calc() — dan alat ini melakukannya — keluarannya lossless. Anda selalu bisa mem-beautify hasil minify untuk memverifikasi tidak ada yang berubah secara berarti, memakai toggle Beautify yang ada di alat yang sama.
Apa bedanya minifikasi dengan gzip/kompresi?
Minifikasi memperkecil teks sumbernya sendiri — Anda mengirim file yang secara fisik lebih kecil. Gzip dan Brotli mengompres byte saat transfer, dan browser mendekompresinya secara transparan begitu tiba. Keduanya saling menumpuk: minify sumbernya dulu, lalu biarkan server meng-gzip-nya. Itulah mengapa alat ini menampilkan jumlah byte minified sekaligus estimasi gzip, agar keuntungan gabungannya terlihat. Sebagian besar host (Nginx, Apache, Cloudflare, Netlify, Vercel) mengaktifkan gzip atau Brotli secara otomatis.
Bagaimana cara unminify atau merapikan CSS?
Alihkan ke mode Beautify dengan toggle di bagian atas, lalu tempel CSS yang ter-minify. Alat ini mengindentasi ulang kode, menempatkan setiap deklarasi pada barisnya sendiri, dan menambahkan spasi setelah setiap titik dua — mengubah '.a{color:red;margin:0}' kembali menjadi CSS yang rapi dan terbaca. Anda bisa memilih indentasi 2 spasi, 4 spasi, atau tab. Ini kebalikan dari minify, ideal untuk memeriksa stylesheet minified yang Anda temukan di produksi. Karena minify dan beautify bolak-balik, Anda bisa menempel CSS produksi, membacanya, mengubahnya, dan me-minify-nya lagi — tanpa meninggalkan halaman.
Apa bedanya CSS minifier dengan CSS compressor?
Dalam praktiknya keduanya sama — 'CSS compressor' hanyalah nama lain yang umum untuk CSS minifier. Keduanya menghapus karakter redundan dari sumber dan tidak melakukan gzip sendiri. Sebagian alat berlabel 'compressor' menambahkan optimasi ekstra seperti penggabungan rule duplikat; alat ini berfokus pada minifikasi lossless yang aman, lalu menampilkan estimasi gzip sehingga Anda juga melihat penghematan transportasi tanpa menjalankan perintah gzip terpisah.
Amankah minify CSS secara online?
Dengan alat ini, ya — karena semuanya berjalan 100% di browser Anda menggunakan JavaScript. CSS Anda tidak pernah dikirim ke server, dicatat, atau disimpan, sehingga stylesheet proprietary, belum dirilis, atau milik klien tetap sepenuhnya di perangkat Anda. Anda bisa membuktikannya dengan me-minify saat koneksi jaringan diputus: alat tetap bekerja. Sebaliknya, cssminifier.com dan CSS minifier freeformatter.com sama-sama mengunggah kode Anda ke server mereka — kekhawatiran privasi nyata untuk CSS yang memuat path API, skema warna internal, atau konvensi penamaan rahasia.
Bisakah komentar lisensi (/*! */) dipertahankan saat minify?
Bisa. Biarkan opsi 'Preserve /*! */ license' aktif, dan komentar apa pun yang diawali /*! — konvensi yang dipakai bundler dan library untuk banner lisensi — akan selamat dari minifikasi, sementara komentar /* */ biasa dihapus. Jika Anda ingin mempertahankan semua komentar, aktifkan 'Keep all comments'. Ini penting saat mendistribusikan library open-source yang lisensinya wajib tetap ada di file minified.
Masih perlukah minify CSS jika bundler saya sudah melakukannya?
Jika build tool Anda — Vite, webpack, atau PostCSS dengan cssnano — sudah me-minify bundle, Anda tidak perlu me-minify ulang file-file itu. Tetapi alat ini berguna untuk CSS yang tidak pernah melewati bundler: stylesheet yang diedit manual, CSS tema WordPress atau CMS, style email HTML, blok <style> inline, atau potongan sekali pakai yang ingin Anda tempel dan perkecil. Alat ini juga berguna untuk memverifikasi hasil minifikasi bundler Anda terhadap baseline.
Bagaimana perbandingannya dengan cssnano, CleanCSS, atau cssminifier.com?
cssnano dan CleanCSS solid untuk pipeline build otomatis tetapi memerlukan Node.js terpasang secara lokal — tidak ada opsi tempel-langsung-jadi. cssminifier.com berbasis server, artinya stylesheet Anda meninggalkan mesin Anda. CSS minifier TopTal juga berbasis server. Alat ini berjalan sepenuhnya di browser Anda: tidak ada yang dikirim ke mana pun, tanpa install, dan Anda langsung mendapat ukuran minified plus estimasi gzip. Ia juga menyertakan beautifier di halaman yang sama, sehingga Anda bisa bolak-balik tanpa berpindah tab.
Bisakah saya me-minify file .css, atau hanya kode yang ditempel?
Keduanya bisa. Tempel CSS ke kotak input, atau seret dan lepas file .css ke zona drop (atau klik untuk memilih file). Hasil minified bisa disalin sekali klik atau diunduh sebagai style.min.css; keluaran beautify diunduh sebagai style.css. Drag-and-drop bekerja di browser desktop; di ponsel (iPhone, Android) gunakan pemilih file untuk mengunggah dari aplikasi Files Anda.
Apa itu ukuran gzip dan apakah server saya sudah meng-gzip?
Ukuran gzip adalah jumlah byte yang benar-benar dikirim ke browser setelah server mengompres file — biasanya angka yang dirasakan pengunjung Anda. Sebagian besar host (Nginx, Apache, Cloudflare, Netlify, Vercel) mengaktifkan gzip atau Brotli secara default, jadi sebaiknya minify dulu dan biarkan kompresi menyelesaikan sisanya. Angka gzip di sini dihitung secara lokal memakai API kompresi browser Anda sendiri, jadi tidak ada yang diunggah. Ini estimasi — kompresi server sebenarnya bisa sedikit berbeda tergantung level gzip.
Related tools
Lihat semua perkakasPembuat Ekspresi Cron
Jelaskan jadwal cron dalam bahasa sederhana dan pratinjau waktu jalan berikutnya.
Pengecil HTML
Perkecil HTML dengan menghapus komentar dan meringkas spasi kosong.
Escape / Unescape JSON
Escape teks mentah menjadi string aman-JSON dan unescape kembali.
Kode Status HTTP
Referensi kode status HTTP yang dapat dicari dengan arti dalam bahasa sederhana.
Contekan Regex
Referensi token dan flag ekspresi reguler yang dapat dicari.
Tabel ASCII
Kode karakter yang dapat dicari dalam desimal, hex, oktal, dan biner.