CSS küçültme, bir stil sayfasındaki tüm gereksiz karakterleri davranışını değiştirmeden kaldırma işlemidir. Bu; boşlukların, satır sonlarının, yorumların ve sondaki noktalı virgüller ile gereksiz tırnak işaretleri gibi fazlalık sözdiziminin atılması anlamına gelir. Tarayıcı, küçültülmüş CSS'yi orijinaliyle tamamen aynı şekilde ayrıştırır. W3C CSS Syntax Module dilbilgisini tanımlar; token'lar arasındaki boşluk, tanımlayıcıları birbirinden ayırdığı durumlar dışında zorunlu değildir. Küçültme, her şeyi minimum gerekli karakter sayısına indirerek bu özellikten yararlanır.
Online bir CSS küçültücü, biçimlendirilmiş stil sayfanızı alarak aktarım boyutu için optimize edilmiş kompakt bir sürüm üretir. Kaynağın ne kadar boşluk ve yorum içerdiğine bağlı olarak tipik tasarruf %15 ile %40 arasında değişir. 50 KB'lık bir stil sayfası için bu, her sayfa yüklenmesinde ağ üzerinden 7–20 KB daha az byte gönderilmesi anlamına gelir. Sunucudaki gzip veya Brotli sıkıştırmasıyla birlikte küçültme, nihai aktarım boyutunu daha da azaltır; çünkü zaten küçültülmüş CSS'nin sıkıştırılmış çıktısı, biçimlendirilmiş orijinalin sıkıştırılmasından daha küçüktür.
Küçültme, frontend derleme süreçlerinde standart bir adımdır. cssnano, clean-css ve esbuild gibi araçlar küçültmeyi derlemenin bir parçası olarak çalıştırır. Ancak geliştirme sırasında tek bir parçacığı test için küçültmeniz, kritik bir CSS bloğunu satır içine almanız ya da bir paket yapılandırmasına eklemeden önce bir stil sayfasının ne kadar küçüleceğini kontrol etmeniz gerekebilir. Tarayıcı tabanlı bir CSS küçültücü tam da bu noktada işe yarar: CSS'yi yapıştırın, küçültülmüş çıktıyı alın, kopyalayın ve devam edin.
Herhangi bir CSS yapıştırın ve milisaniyeler içinde küçültülmüş çıktı alın. Derleme aracı yapılandırması yok, CLI komutları yok, hesap oluşturma yok.
⚡
Anında Küçültme
Siz yazarken veya yapıştırırken çıktı güncellenir. Küçültülmüş sonucu ve byte tasarrufunu bir derleme adımını beklemeden anında görürsünüz.
🔒
Gizlilik Öncelikli İşleme
Tüm küçültme işlemleri JavaScript kullanılarak tarayıcınızda yerel olarak çalışır. CSS'niz cihazınızdan hiç çıkmaz ve hiçbir sunucuya gönderilmez.
📦
Doğru Boyut Raporlama
Orijinal boyutu, küçültülmüş boyutu ve yüzde azalmayı yan yana görün. Bir derleme süreci değişikliğine karar vermeden önce performans kazançlarını tahmin etmek için kullanışlıdır.
📋
Giriş Gerektirmez
Sayfayı açın, CSS'nizi yapıştırın, sonucu kopyalayın. Kayıt yok, hız sınırı yok, özellik kısıtlaması yok. Araç her ziyarette tam kapasiteyle kullanılabilir.
CSS Küçültücü Kullanım Senaryoları
Frontend Performans Optimizasyonu
HTML'nizin head öğesine satır içi eklemeden önce kritik CSS'yi küçültün. Daha küçük satır içi CSS, özellikle mobil bağlantılarda daha hızlı First Contentful Paint anlamına gelir.
Backend E-posta Şablonlama
E-posta istemcileri harici stil sayfalarını yok sayar ve katı boyut sınırlamalarına sahiptir. E-posta HTML'nizi kırpma eşiğinin (Gmail için 102 KB) altında tutmak için satır içi CSS'nizi küçültün.
DevOps ve Derleme Doğrulama
cssnano veya clean-css'nin doğru yapılandırıldığını ve en iyi sonuçları ürettiğini doğrulamak için derleme aracınızın küçültülmüş çıktısını bu araçla karşılaştırın.
QA Boyut Bütçeleme
Bir satıcı stil sayfasını yapıştırarak küçültülmüş boyutunu performans bütçenizle karşılaştırın. Projeye eklemeden önce tree-shaking veya değiştirme gerekip gerekmediğini belirleyin.
Veri Mühendisliği ve Web Kazıma
Taranmış sayfalardan CSS çıkardığınızda, karşılaştırma veya depolamadan önce kaynaklar arasındaki boşluk farklılıklarını normalleştirmek için küçültün.
CSS Optimizasyonunu Öğrenmek
Öğrenciler CSS yapıştırabilir ve küçültücünün tam olarak hangi karakterleri kaldırdığını görebilir. Giriş ve çıktıyı karşılaştırmak, CSS sözdiziminin hangi kısımlarının tarayıcılar için anlamlı olduğunu, hangilerinin yalnızca estetik olduğunu öğretir.
CSS Küçültme Teknikleri
Bir CSS küçültücü, dosya boyutunu azaltmak için çeşitli dönüşümler uygular. Her biri kaynaktaki farklı bir fazlalık türünü hedef alır. Aşağıdaki tablo, biçimlendirilmiş bir stil sayfasında ana teknikleri ve tipik tasarruflarını listeler:
Teknik
Ne Yapar
Tipik Tasarruf
Whitespace removal
Strips spaces, tabs, and newlines between tokens
15–25%
Comment stripping
Removes /* ... */ block comments
5–15%
Zero shortening
0px → 0, 0.5 → .5
1–3%
Shorthand colors
#ffffff → #fff, #aabbcc → #abc
1–2%
Semicolon removal
Drops the last semicolon before }
<1%
Quote removal
font-family: "Arial" → font-family: Arial
<1%
Tasarruf yüzdeleri girdiye göre değişir. Yoğun yorumlu dosyalar yorum kaldırmadan daha fazla faydalanırken, zaten sıkıştırılmış dosyalar daha az kazanım sağlar. En güvenilir kazanımlar boşluk kaldırma ve kısaltma optimizasyonundan gelir. cssnano gibi gelişmiş küçültücüler ayrıca yinelenen seçicileri birleştirir, uzun biçimli özellikleri kısaltmalara dönüştürür (margin-top + margin-right + margin-bottom + margin-left → margin) ve geçersiz kılınan bildirimleri kaldırır.
Küçültme ve Gzip Sıkıştırma Karşılaştırması
Küçültme ve sıkıştırma birbirinin yerine kullanılabilir değil, tamamlayıcı işlemlerdir. Farklı katmanlarda çalışır ve birbirinin üzerine yığılır:
CSS Küçültme (bu araç)
CSS sözdizimi düzeyinde çalışır. Boşlukları, yorumları kaldırır ve kısaltma değerlerini yeniden yazar. Derleme zamanında bir kez çalışır. Çıktı, tarayıcıların doğrudan ayrıştırdığı geçerli CSS'dir. Tipik azalma: orijinal dosya boyutunun %15–40'ı.
Gzip / Brotli Sıkıştırma
Genel amaçlı sıkıştırma algoritmaları kullanılarak byte düzeyinde çalışır. Web sunucusu tarafından her yanıtta uygulanır (veya dağıtım zamanında önceden sıkıştırılır). Her dosya türünde çalışır. Tipik azalma: küçültülmüş boyutun %60–80'i. İkisini birlikte kullanmak en küçük aktarım boyutunu sağlar.
Kod Örnekleri
Farklı dil ve ortamlarda CSS'yi programatik olarak nasıl küçülteceğiniz:
# Using cssnano via PostCSS CLI
npx postcss styles.css --use cssnano -o styles.min.css
# Using clean-css CLI
npx clean-css-cli styles.css -o styles.min.css
# Quick one-liner with Node.js
node -e "const CleanCSS=require('clean-css');console.log(new CleanCSS().minify('body { margin: 0px; }').styles)"
# → "body{margin:0}"
Sıkça Sorulan Sorular
CSS küçültme ile CSS sıkıştırma arasındaki fark nedir?
Küçültme, CSS kaynak kodunu aynı davranışı korurken gereksiz karakterleri (boşluk, yorum, fazlalık sözdizimi) kaldıracak şekilde yeniden yazar. Sıkıştırma (gzip, Brotli) ise dosyanın byte'larını aktarım katmanında daha kompakt bir ikili biçime kodlar. Küçültme diskteki CSS dosyalarını küçültür; sıkıştırma HTTP üzerinden gönderilen byte sayısını azaltır. En iyi uygulama her ikisini de kullanmaktır: önce küçültün, ardından sunucunun küçültülmüş çıktıyı sıkıştırmasına izin verin.
CSS küçültme bir şeyleri bozar mı?
Standart küçültme CSS davranışını korur. content özellikleri gibi dize değerlerinin içindeki boşluklar tüm büyük küçültücüler tarafından korunur. Ancak seçicileri birleştirme veya özellikleri yeniden sıralama gibi agresif optimizasyonlar özgüllüğü veya geçersiz kılma sırasını değiştirebilir. cssnano'nun varsayılan ön ayarını kullanırsanız bu riskli dönüşümler devre dışı bırakılmıştır. Bu araç yalnızca güvenli küçültme yapar: boşluk kaldırma, yorum silme ve kısaltma optimizasyonu.
CSS küçültmeden sonra ne kadar küçülür?
Tipik azalma, orijinal biçimlendirilmiş dosya boyutunun %15–40'ıdır. Bol boşluklu ve iyi yorumlanmış dosyalar bu aralığın üst sınırına yaklaşır. Yorumsuz yazılmış, zaten kompakt CSS yalnızca %10–15 küçülebilir. Kesin tasarruf; kod stiline, yorum yoğunluğuna ve kaynağın kısaltmalara dönüştürülebilecek uzun biçimli özellikler kullanıp kullanmadığına bağlıdır.
CSS'yi manuel mi küçültmeliyim yoksa derleme aracı mı kullanmalıyım?
Üretim derlemeleri için her zaman bir derleme aracı kullanın (PostCSS + cssnano, esbuild veya webpack'in css-minimizer-webpack-plugin'i). Otomatik küçültme her derlemede çalışır ve tüm dosyaları kapsar. Tarayıcı tabanlı bir küçültücü tek seferlik görevler için kullanışlıdır: kritik CSS parçacığını satır içine alma, bir satıcı stil sayfasının küçültülmüş boyutunu kontrol etme veya paylaşmadan önce hızlı bir prototipi küçültme.
Bu araçla SCSS veya LESS küçültebilir miyim?
Bu araç standart CSS küçültür. SCSS ve LESS, CSS'ye derlenen önişlemci dilleridir. Önce SCSS veya LESS'inizi CSS'ye derleyin (sass veya lessc kullanarak), ardından derlenmiş çıktıyı buraya yapıştırın. Ham SCSS sözdizimini küçültmek, //! preserve yorumları veya @use ek açıklamaları gibi derleme davranışını kontrol eden yorumları silebilir.
Küçültülmüş CSS hata ayıklamayı zorlaştırır mı?
Evet, küçültülmüş CSS biçimlendirmesiz tek bir satırdır ve DevTools'ta okumayı güçleştirir. Standart çözüm kaynak haritalardır. PostCSS ve esbuild gibi derleme araçları, tarayıcı DevTools'unun küçültülmüş sürüm yüklenirken orijinal biçimlendirilmiş kaynağı görüntülemesine olanak tanıyan .map dosyaları üretir. Kaynak harita olmadan üretim hata ayıklaması için küçültülmüş CSS'yi bir CSS biçimlendiricide okunabilirliği geri kazandırmak üzere yapıştırın.
CSS küçültücü ile CSS sıkıştırıcı arasındaki fark nedir?
Yaygın kullanımda bu terimler birbirinin yerine geçer. Her ikisi de dosya boyutunu azaltmak için CSS'deki gereksiz karakterleri kaldırmayı ifade eder. Bazı araçlar adında 'compressor' kullanır (Python için csscompressor gibi) ancak standart küçültme yapar. 'Compression' sözcüğü ayrıca ayrı bir sunucu düzeyi süreç olan gzip/Brotli kodlamasına da atıfta bulunabilir. 'CSS compressor' görürseniz, bu neredeyse her zaman küçültme anlamına gelir, gzip değil.