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
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.