Minifikator CSS
Zminifikowany plik CSS ładuje się wyraźnie szybciej niż jego pretty-printed brat, a różnica kumuluje się z każdym wczytaniem strony. Ten minifikator usuwa whitespace, komentarze i końcowe średniki, bez zmiany kaskady ani efektu jakiejkolwiek reguły. Wynik to zawsze poprawny CSS, który przeglądarki parsują identycznie do oryginału.
Jak zminifikować CSS
-
1
Wklej CSS
Dowolny CSS: pisany ręcznie, skompilowany z Sass, bloki style inline.
-
2
Minifikuj
Kliknij "Minify CSS", aby usunąć komentarze, białe znaki i końcowe średniki w jednym przebiegu.
-
3
Sprawdź oszczędności
Raport oszczędzonych bajtów pojawia się obok skompresowanego wyniku.
-
4
Skopiuj wynik
Wklej zminifikowany CSS do produkcyjnego bundle'a albo zapisz go jako `.min.css`.
Co robi minifikator
Transformacje (nigdy nie zmieniają zachowania):
- Usunięcie komentarzy (wszystkich, w tym bloków
/*!licencji). - Usunięcie zbędnego whitespace (między selektorami, deklaracjami, klamrami).
- Usunięcie końcowych średników przed zamykającą klamrą.
- Zwinięcie wieloliniowych reguł w jedną.
I to wszystko, dlatego wynik działa identycznie jak oryginał: każdy selektor, właściwość i wartość zostaje dokładnie tak, jak ją napisałeś.
Typowe oszczędności
| Źródło | Rozmiar oryg. | Po minifikacji | Oszczędność |
|---|---|---|---|
| Sformatowany CSS pisany ręcznie | 20 KB | 12 KB | 40% |
| Skompilowane z Sass, tryb deweloperski | 45 KB | 25 KB | 44% |
| Już zminifikowane + gzip | 10 KB | 10 KB | 0% |
Na minifikację nakłada się gzip po stronie serwera, dodający kolejne 60–80% oszczędności, bo CSS jest mocno redundantny. Te dwa się sumują; zawsze rób oba.
Czego minifikacja nie robi
- Usuwa nieużywany CSS. To tree-shaking / PurgeCSS, wymagający analizy HTML albo komponentów.
- Skraca hexy kolorów, zwija jednostki zerowe ani nie łączy deklaracji. Te agresywne transformacje to zadanie cssnano, esbuilda albo Lightning CSS, nie tego narzędzia.
- Scala identyczne selektory w jeden. Ryzykowne, bo kolejność źródłowa wpływa na kaskadę; niektóre minifikatory próbują, większość pomija.
- Zmienia nazwy klas. To CSS-in-JS albo CSS Modules, nie minifikacja.
- Wstawia krytyczny CSS inline. To osobny krok build-time.
Zachowanie komentarzy licencyjnych
Wiele minifikatorów zachowuje komentarze zaczynające się od /*!, używane jako nagłówki licencji:
/*! Bootstrap v5.3 · MIT License · https://github.com/twbs/bootstrap */
To narzędzie usuwa wszystkie komentarze. Jeśli Twój CSS zawiera nagłówki licencji, dodaj je z powrotem po minifikacji albo użyj build toola z opcją zachowywania licencji, takiego jak cssnano czy esbuild.
Source maps
Do debugowania w produkcji build tool generuje source map obok zminifikowanego wyjścia:
styles.min.css
styles.min.css.map
DevTools potrafią odczytać mapę i pokazać oryginalne, pretty-printed numery linii przy inspekcji elementu. To narzędzie nie generuje source map.
Minifikacja CSS w pipeline buildu
- Vite, Webpack, Parcel: robią to automatycznie w buildzie produkcyjnym.
- PostCSS z cssnano: standardowy samodzielny minifikator.
- esbuild: też obejmuje minifikację CSS.
- Presety cssnano:
defaultdla bezpiecznych transformacji,advanceddla agresywnych (z pewnymi kompromisami).
To narzędzie nadaje się do jednorazowej minifikacji, szybkich poprawek i nauki tego, co minifikatory faktycznie robią. W procesie produkcyjnym używaj build toola, by źródło zostało czytelne, a minifikowane było tylko wyjście.
Kiedy minifikacja może zepsuć twój CSS
Rzadko, ale możliwe:
- Selektory wrażliwe na whitespace:
.foo .barvs..foo.bar, spacja ma znaczenie. - Wartości custom properties z odstępami:
--shadow: 0 2px 4px rgba(0,0,0,0.1), przecinki wewnątrzrgba()nie mogą zostać wycięte. - Niezamknięte komentarze blokowe:
/* missing closezjada wszystko po sobie. Minifikatory potrafią się pomylić na zniekształconym wejściu.
Naprawa: zawsze przepuszczaj zminifikowany wynik przez lint/test, zanim go wyślesz.
Najczęściej zadawane pytania
Nie. Poprawnie zminifikowany plik CSS jest inny bajtowo, ale identyczny semantycznie. Każdy selektor, właściwość i wartość daje ten sam efekt wizualny. Jeśli widzisz zmianę renderowania, to minifikator ma buga albo wejście miało składnię wrażliwą na whitespace.
Tak, po kliknięciu “Minify CSS”. Wklejony CSS jest wysyłany na nasz serwer w celu minifikacji, a wynik wraca na stronę. Nie jest zapisywany w bazie danych ani dodawany do linku strony.
Po. Minifikuj finalny skompilowany CSS, który faktycznie trafia do przeglądarek. Wynik Sass jest już rozsądnie kompaktowy, ale ma whitespace i komentarze, które minifikacja zdejmuje.
Skromnie, ale realnie, zwykle 5–15% ponad gzip. Usuwanie białych znaków i komentarzy dodatkowo zagęszcza wzorce dla gzipa.
Powiązane narzędzia
Generator konfiguracji webpack
Utwórz plik webpack.config.js dla webpacka 5 do czystego JavaScriptu, Reacta lub Vue: TypeScript, Babel, CSS lub Sass, obrazy, HtmlWebpackPlugin, serwer deweloperski i polecenie npm install.
Generator kolorów analogicznych
Twórz pięciokolorowe palety analogiczne z dowolnego koloru bazowego: klasyczną trójkę, dwie zewnętrzne barwy oraz wartości hex, RGB i HSL.
Generator fikcyjnych numerów telefonu
Generuj do 50 fikcyjnych numerów z oficjalnie zastrzeżonych zakresów w pięciu krajach.
Kod na obraz
Wklej kod, ustaw motyw, kolory, rozmiar czcionki, odstępy, nagłówek i numery wierszy, sprawdź podgląd canvas i pobierz PNG. Renderowanie zwykłego tekstu, bez podświetlania składni.
Walidator XSD
Waliduj dokument XML wobec schematu XSD i zgłaszaj niezgodności elementów i typów z dokładnymi numerami wierszy.
Konwerter liczb szesnastkowych na dziesiętne
Przeliczaj liczby szesnastkowe na dziesiętne (system o podstawie 10). Działa z adresami pamięci, kodami błędów, kanałami RGB oraz liczbami całkowitymi o dowolnej precyzji.
Narzędzie jest dostępne w innych językach
- CSS Minifier [VI]
- CSS Minifier [ID]
- CSS Minifier [SV]
- CSS 미니파이어 [KO]
- Minificateur CSS [FR]
- CSS Minifier [NL]
- CSS-Minimierer [DE]
- CSS Minifier [TH]
- Minificador de CSS [PT]
- Minificador de CSS [ES]
- المصغر CSS [AR]
- CSSミニファイア [JA]
- CSS Minifier [EN]
- Minificatore CSS [IT]
- CSS-минификатор [RU]
- CSS Küçültücü [TR]
- CSS 压缩 [ZH]