Minify CSS
Hapus komentar dan spasi, dan persingkat nilai. Jika minifier tidak bisa menangani sesuatu di file Anda, ia memberi tahu Anda — alih-alih diam-diam menyerahkan stylesheet yang kehilangan aturan.
- Tidak pernah disimpan
- Tanpa antre, tanpa menunggu
- Tanpa daftar, tanpa watermark
CSS yang sudah di-minify muncul di sini.
Cara kerjanya
Tempel CSS Anda
Atau letakkan file-nya. Tidak ada yang disimpan.
Baca hasilnya
Anda mendapatkan stylesheet hasil minify dan seberapa kecil ukurannya — atau penjelasan tentang apa yang tidak bisa ditangani.
Salin atau unduh
Siap dimasukkan ke build Anda.
Ke mana sebenarnya byte-byte itu pergi
Sebagian besar penghematan berasal dari spasi dan komentar, yang dalam stylesheet tulisan tangan jumlahnya sangat banyak — indentasi, baris kosong di antara aturan, dan judul bagian yang membuat file besar mudah dinavigasi semuanya murni beban begitu file dikirim. Selain itu, nilai dipersingkat dengan cara yang tidak mungkin mengubah maknanya: warna yang ditulis #ffffff menjadi #fff, 0px menjadi 0 karena nol tidak memerlukan satuan, angka nol di depan pada 0.5em dibuang, dan margin: 10px 10px 10px 10px diringkas menjadi margin: 10px.
Yang sengaja tidak dilakukan adalah kategori yang berisiko. Menggabungkan aturan dengan deklarasi yang identik, atau mengubah urutannya, mengubah cascade — dan cascade adalah bagian CSS tempat dua aturan dengan spesifisitas setara diputuskan berdasarkan mana yang muncul terakhir. Minifier yang agresif mengubah urutan akan menghasilkan file yang lebih kecil dan, pada stylesheet besar, halaman yang sedikit berbeda tanpa terasa. Deklarasi duplikat juga sering kali disengaja, dibiarkan sebagai fallback untuk browser lama yang mengabaikan deklarasi kedua.
Aturan bersarang dan sintaks media range modern ditolak, bukan di-minify, dan alasannya perlu dijelaskan karena ini kebalikan dari yang dilakukan kebanyakan alat. Parser di baliknya lebih tua daripada kedua fitur itu, dan saat menemukan sesuatu yang tidak dipahaminya, parser itu tidak menampilkan error — ia diam-diam menghapusnya, sehingga blok bersarang begitu saja hilang dari hasil dan halaman kehilangan style tanpa ada yang melaporkannya. Menolak file adalah jawaban yang jujur. Jika stylesheet Anda memakai nesting bawaan atau @media (400px <= width <= 700px), gunakan salah satu alat di bawah.
Seperti halnya markup, nilailah hasilnya setelah kompresi. Stylesheet dikirim dalam bentuk gzip atau brotli, dan algoritma itu sudah sangat pandai menangani spasi yang berulang — jadi file yang menyusut 30 persen setelah di-minify mungkin hanya mengecil 5 persen saat dikirim. Penghematannya nyata, tetapi lebih kecil daripada angka utamanya.
Jika Anda butuh hal lain
Lightning CSS adalah alat yang tepat untuk stylesheet modern: ia memahami nesting, media range, fungsi warna, dan semua yang ditambahkan dalam beberapa tahun terakhir, me-minify lebih ketat daripada alat yang lebih lama, dan sekaligus bisa mentranspilasi sintaks baru untuk browser lama. esbuild --minify style.css hampir sama bagusnya dan sangat cepat. Keduanya seharusnya ada di langkah build, bukan di tab browser.
Keuntungan yang jauh lebih besar biasanya adalah menghapus aturan yang tidak Anda pakai. Situs yang dibangun di atas utility framework atau component library umumnya mengirim stylesheet yang sebagian besar isinya tidak pernah cocok dengan apa pun di halaman — dan PurgeCSS, atau build bawaan framework itu, akan memangkasnya hingga sepersepuluhnya. Me-minify CSS yang tidak terpakai hanya membuat CSS yang tidak terpakai lebih kecil; menghapusnya adalah solusi yang sebenarnya.
Pertanyaan yang sering diajukan
Apakah CSS saya disimpan di suatu tempat?
Tidak, dan untuk kode sumber justru itulah intinya. Tidak ada yang disimpan dan tidak ada server yang pernah melihatnya. Menempelkan kode sumber milik perusahaan ke minifier online yang mengirimkannya ke suatu tempat adalah bentuk pengungkapan, apa pun yang dikatakan situs itu soal penyimpanan data — dan itu persis jenis hal yang dilakukan terburu-buru tanpa berpikir.
Mengapa file saya ditolak?
Karena me-minify-nya akan menghilangkan aturan. Minifier di balik halaman ini berasal dari tahun 2022 dan tidak mengenal dua hal yang kini sudah menjadi CSS biasa. Jika diberi nesting bawaan — aturan yang ditulis di dalam aturan lain, dengan atau tanpa "&" — ia mengembalikan aturan luarnya dan DIAM-DIAM MEMBUANG aturan yang bersarang. Jika diberi media range query modern seperti @media (width >= 400px), ia mengembalikan stylesheet kosong. Keduanya tidak menghasilkan error. Kami mengukur keduanya pada versi persis yang kami pakai, dan memutuskan bahwa menyerahkan stylesheet yang kehilangan style lebih buruk daripada menolak, jadi kedua kasus itu dideteksi dan ditolak. Jumlah aturan juga dihitung sebelum dan sesudah sebagai pemeriksaan umum, untuk berjaga-jaga jika ada kasus ketiga yang belum ditemukan siapa pun.
Lalu bagaimana cara me-minify CSS bersarang?
Hilangkan nesting-nya dengan kompilasi terlebih dulu. Setiap build tool yang mendukung nesting — Sass, PostCSS, Lightning CSS, atau bundler Anda — meratakannya sebagai bagian dari proses build, dan hasil yang sudah diratakan bisa di-minify di sini tanpa masalah. Jika Anda menulis nesting secara manual dan langsung menyajikannya, Anda mengandalkan fitur yang didukung browser saat ini, tetapi belum sepenuhnya dikejar oleh ekosistem minifier.
Apa yang sebenarnya dilakukannya?
Menghapus komentar dan spasi, mempersingkat warna (#ffffff menjadi #fff, #ff0000 menjadi red), membuang satuan dan titik koma yang tidak perlu, dan menggabungkan apa yang aman untuk digabungkan. Alat ini tidak menghapus aturan yang dikiranya tidak terpakai — untuk itu ia perlu mengetahui HTML Anda, dan tebakan yang salah akan menghapus style yang Anda perlukan.
Seberapa kecil hasilnya?
Untuk CSS yang ditulis tangan, biasanya 15–30%. Hasil yang sudah dikompilasi oleh build tool sering kali sudah hampir minimal dan nyaris tidak berubah. Gzip di server Anda berdampak lebih besar daripada minify; efek keduanya saling menambah.
Amankah me-minify stylesheet produksi di sini?
Ya. Tidak ada yang disimpan, dan dua kasus yang tidak bisa ditanganinya ditolak, bukan dirusak diam-diam, jadi yang Anda terima kembali adalah hasil yang benar atau penjelasan mengapa file itu ditolak.
Perlu diketahui: Aturan bersarang (nesting) dan sintaks media range modern ditolak, bukan di-minify. Minifier ini dibangun di atas parser yang lebih tua daripada kedua fitur itu, dan alih-alih menampilkan error, parser itu diam-diam menghapus apa yang tidak dipahaminya — blok bersarang begitu saja hilang dari hasil. Menolak file adalah jawaban yang jujur sampai parser itu menyusul.
Pasang alat ini di situs Anda
Gratis untuk blog, halaman kelas, atau artikel bantuan apa pun. Tempel satu potong kode dan pengunjung Anda bisa langsung memakainya di halaman Anda.
Alat Teks lainnya
Minify JavaScript
Kompres JavaScript secara privat
Minify HTML
Perkecil HTML tanpa merusak halaman
Ubah Huruf Besar Kecil
HURUF BESAR, huruf kecil, Title Case, camelCase, dan lainnya
Hapus Baris Duplikat
Hapus yang berulang, urutkan, dan rapikan daftar
Hitung Kata
Kata, kalimat, dan waktu baca
Hitung Karakter
Karakter, byte, dan apa yang sebenarnya dihitung oleh batas Anda