ToolDeck

CSS Minifier

Minifikujte CSS odstraněním mezer a komentářů

Zkusit příklad

CSS vstup

Minifikované CSS

Běží lokálně · Bezpečné pro vkládání tajných údajů
Minifikované CSS se zobrazí zde…

Co je minifikace CSS?

Minifikace CSS je proces odstranění všech nadbytečných znaků ze stylesheetu beze změny jeho chování. To zahrnuje odstraňování mezer, zalomení řádků, komentářů a nadbytečné syntaxe, jako jsou závěrečné středníky a zbytečné uvozovky. Prohlížeč parsuje minifikované CSS identicky jako originál. W3C CSS Syntax Module definuje gramatiku; mezery mezi tokeny jsou nepovinné, pokud neslouží k oddělení identifikátorů. Minifikace tohoto využívá tím, že vše zkomprimuje na minimální potřebný počet znaků.

Online CSS minifier vezme váš naformátovaný stylesheet a vytvoří kompaktní verzi optimalizovanou pro velikost přenosu. Typické úspory se pohybují od 15 % do 40 % v závislosti na množství mezer a komentářů ve zdroji. U stylesheetu o velikosti 50 KB to znamená o 7–20 KB méně bajtů odeslaných po síti při každém načtení stránky. V kombinaci s kompresí gzip nebo Brotli na serveru minifikace dále zmenšuje výslednou velikost přenosu, protože komprimovaný výstup již minifikovaného CSS je menší než komprimovaný originál s formátováním.

Minifikace je standardní krok v build pipeline frontendových aplikací. Nástroje jako cssnano, clean-css a esbuild provádějí minifikaci jako součást sestavení. Při vývoji však často potřebujete minifikovat jeden snippet pro testování, vložit blok kritického CSS nebo zkontrolovat, o kolik se stylesheet zmenší, než ho přidáte do konfigurace bundlu. Právě k tomu slouží CSS minifier v prohlížeči: vložte CSS, získejte minifikovaný výstup, zkopírujte ho a pokračujte dál.

Before · css
After · css
/* Main navigation styles */
.nav {
  display: flex;
  align-items: center;
  padding: 1rem 2rem;
  background-color: #1e293b;
}

/* Links inside nav */
.nav a {
  color: #e2e8f0;
  text-decoration: none;
  margin-right: 1.5rem;
  transition: color 0.2s ease;
}

.nav a:hover {
  color: #818cf8;
}
.nav{display:flex;align-items:center;padding:1rem 2rem;background-color:#1e293b}.nav a{color:#e2e8f0;text-decoration:none;margin-right:1.5rem;transition:color .2s ease}.nav a:hover{color:#818cf8}

Proč použít tento CSS Minifier?

Vložte libovolné CSS a získejte minifikovaný výstup během milisekund. Žádné konfigurování build nástrojů, žádné CLI příkazy, žádné účty.

Okamžitá minifikace
Výstup se aktualizuje při psaní nebo vkládání. Minifikovaný výsledek a úsporu bajtů vidíte ihned, bez čekání na krok sestavení.
🔒
Zpracování s důrazem na soukromí
Veškerá minifikace probíhá lokálně ve vašem prohlížeči pomocí JavaScriptu. Vaše CSS nikdy neopustí vaše zařízení a není nikdy odesláno na žádný server.
📦
Přesné hlášení velikosti
Zobrazte původní velikost, minifikovanou velikost a procentuální zmenšení vedle sebe. Užitečné pro odhadnutí výkonnostních přínosů před zavedením změny do build pipeline.
📋
Bez nutnosti přihlášení
Otevřete stránku, vložte CSS, zkopírujte výsledek. Bez registrace, bez omezení počtu požadavků, bez uzamčených funkcí. Plný nástroj je dostupný při každé návštěvě.

Případy použití CSS Minifieru

Optimalizace výkonu frontendu
Minifikujte kritické CSS před jeho vložením do elementu head v HTML. Menší vložené CSS znamená rychlejší First Contentful Paint, zejména na mobilních připojeních.
Backend šablony e-mailů
E-mailoví klienti ignorují externí stylesheety a mají přísné limity velikosti. Minifikujte vložené CSS, aby HTML e-mailu nepřekročilo práh oříznutí (102 KB pro Gmail).
DevOps a ověření sestavení
Porovnejte minifikovaný výstup vašeho build nástroje s tímto nástrojem a ověřte, zda je cssnano nebo clean-css správně nakonfigurováno a produkuje optimální výsledky.
QA a sledování velikostního rozpočtu
Vložte stylesheet dodavatele a zkontrolujte jeho minifikovanou velikost vůči vašemu výkonnostnímu rozpočtu. Zjistěte, zda před přidáním do projektu potřebuje tree-shaking nebo náhradu.
Datové inženýrství a web scraping
Při extrakci CSS z procházených stránek ho minifikujte, aby se normalizovaly rozdíly v mezerách mezi zdroji před porovnáním nebo uložením.
Výuka optimalizace CSS
Studenti mohou vložit CSS a vidět přesně, které znaky minifier odstraní. Porovnání vstupu a výstupu ukazuje, které části syntaxe CSS jsou pro prohlížeče smysluplné a které jsou čistě estetické.

Techniky minifikace CSS

CSS minifier aplikuje několik transformací ke zmenšení velikosti souboru. Každá cílí na jiný typ nadbytečnosti ve zdroji. Tabulka níže uvádí hlavní techniky a jejich typické úspory na naformátovaném stylesheetu:

TechnikaCo děláTypická úspora
Whitespace removalStrips spaces, tabs, and newlines between tokens15–25%
Comment strippingRemoves /* ... */ block comments5–15%
Zero shortening0px → 0, 0.5 → .51–3%
Shorthand colors#ffffff → #fff, #aabbcc → #abc1–2%
Semicolon removalDrops the last semicolon before }<1%
Quote removalfont-family: "Arial" → font-family: Arial<1%

Procentuální úspory se liší podle vstupu. Soubory s mnoha komentáři těží více z jejich odstraňování, zatímco již kompaktní soubory mají menší přínosy. Nejspolehlivější výsledky přináší odstranění mezer a optimalizace zkratek. Pokročilé minifikátory jako cssnano také slučují duplicitní selektory, zkracují rozepsané vlastnosti do zkratkových forem (margin-top + margin-right + margin-bottom + margin-left do margin) a odstraňují přepsané deklarace.

Minifikace vs. komprese Gzip

Minifikace a komprese se vzájemně doplňují a nelze je zaměňovat. Fungují na různých vrstvách a lze je kombinovat:

Minifikace CSS (tento nástroj)
Funguje na úrovni CSS syntaxe. Odstraňuje mezery, komentáře a přepisuje zkratkové hodnoty. Spouští se jednou při sestavení. Výstup je platné CSS, které prohlížeče parsují přímo. Typická úspora: 15–40 % původní velikosti souboru.
Komprese Gzip / Brotli
Funguje na úrovni bajtů pomocí obecných kompresních algoritmů. Aplikuje ji webový server na každou odpověď (nebo je předkomprimována při nasazení). Funguje pro libovolný typ souboru. Typická úspora: 60–80 % minifikované velikosti. Kombinace obou přístupů dává nejmenší velikost přenosu.

Ukázky kódu

Jak programově minifikovat CSS v různých jazycích a prostředích:

JavaScript (cssnano + PostCSS)
import postcss from 'postcss'
import cssnano from 'cssnano'

const input = `
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* TODO: update color */
}
`

const result = await postcss([cssnano]).process(input, { from: undefined })
console.log(result.css)
// → ".nav{display:flex;padding:0 1rem;color:#fff}"
Python (csscompressor)
import csscompressor

css = """
.nav {
  display: flex;
  padding: 0px 1rem;
  color: #ffffff;
  /* navigation styles */
}
"""

minified = csscompressor.compress(css)
print(minified)
# → ".nav{display:flex;padding:0 1rem;color:#fff}"
Go (tdewolff/minify)
package main

import (
	"fmt"
	"github.com/tdewolff/minify/v2"
	"github.com/tdewolff/minify/v2/css"
)

func main() {
	m := minify.New()
	m.AddFunc("text/css", css.Minify)

	input := ".nav { display: flex; padding: 0px 1rem; color: #ffffff; }"
	output, _ := m.String("text/css", input)
	fmt.Println(output)
	// → ".nav{display:flex;padding:0 1rem;color:#fff}"
}
CLI (cssnano / clean-css)
# 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}"

Nejčastější dotazy

Jaký je rozdíl mezi minifikací CSS a kompresí CSS?
Minifikace přepisuje zdrojový kód CSS odstraněním nadbytečných znaků (mezery, komentáře, nadbytečná syntaxe) při zachování identického chování. Komprese (gzip, Brotli) kóduje bajty souboru do kompaktnějšího binárního formátu na transportní vrstvě. Minifikace zmenšuje soubory CSS na disku; komprese snižuje počet bajtů odeslaných přes HTTP. Doporučený postup je aplikovat obojí: nejprve minifikovat a pak nechat server komprimovat minifikovaný výstup.
Může minifikace CSS něco rozbít?
Standardní minifikace zachovává chování CSS. Mezery uvnitř řetězcových hodnot (jako vlastnosti content) jsou zachovány všemi hlavními minifikátory. Agresivní optimalizace jako slučování selektorů nebo přeřazování vlastností však mohou změnit specificitu nebo pořadí přepsání. Pokud používáte výchozí přednastavení cssnano, tyto rizikové transformace jsou zakázány. Tento nástroj provádí pouze bezpečnou minifikaci: odstranění mezer, komentářů a optimalizaci zkratek.
O kolik se CSS po minifikaci zmenší?
Typická úspora je 15–40 % původní naformátované velikosti souboru. Dobře komentované soubory s velkým množstvím mezer dosahují horní hranice tohoto rozsahu. Již kompaktní CSS napsané bez komentářů se může zmenšit pouze o 10–15 %. Přesné úspory závisí na stylu kódování, hustotě komentářů a tom, zda zdroj používá rozepsané vlastnosti, které lze zkrátit.
Mám CSS minifikovat ručně nebo pomocí build nástroje?
Pro produkční sestavení vždy používejte build nástroj (PostCSS s cssnano, esbuild nebo webpack css-minimizer-webpack-plugin). Automatická minifikace se spustí při každém sestavení a pokryje všechny soubory. CSS minifier v prohlížeči je užitečný pro jednorázové úkoly: vkládání snippet kritického CSS, kontrola minifikované velikosti stylesheetu dodavatele nebo minifikace rychlého prototypu před jeho sdílením.
Mohu tímto nástrojem minifikovat SCSS nebo LESS?
Tento nástroj minifikuje standardní CSS. SCSS a LESS jsou preprocesorové jazyky, které se kompilují do CSS. Nejprve zkompilujte SCSS nebo LESS do CSS (pomocí sass nebo lessc) a pak sem vložte zkompilovaný výstup. Minifikace surové SCSS syntaxe může odstranit komentáře, které řídí chování kompilace, jako jsou komentáře //! preserve nebo anotace @use.
Je minifikované CSS obtížnější ladit?
Ano, minifikované CSS je na jednom řádku bez formátování, což je v DevTools obtížně čitelné. Standardním řešením jsou source mapy. Build nástroje jako PostCSS a esbuild generují soubory .map, které umožňují DevTools v prohlížeči zobrazovat původní naformátovaný zdroj, zatímco prohlížeč načítá minifikovanou verzi. Pro ladění produkce bez source map vložte minifikované CSS do CSS formatteru a obnovte čitelnost.
Jaký je rozdíl mezi CSS minifierem a CSS kompresorem?
V běžném užití jsou tyto pojmy zaměnitelné. Oba označují odstraňování nadbytečných znaků z CSS za účelem zmenšení velikosti souboru. Některé nástroje používají ve svém názvu slovo 'compressor' (jako csscompressor pro Python), ale provádějí standardní minifikaci. Slovo 'komprese' může také odkazovat na kódování gzip/Brotli, což je samostatný proces na úrovni serveru. Pokud vidíte 'CSS compressor', téměř vždy to znamená minifikaci, nikoli gzip.