Co je tento nástroj?
JS minifier přepisuje kód tak, aby byl co nejmenší, a přitom se choval identicky: tam, kde je to bezpečné, zkracuje názvy proměnných a funkcí, odstraňuje komentáře a mezery, sbaluje konstanty a eliminuje nedosažitelný kód.
Tento nástroj je postaven na Terseru, minifikátoru založeném na AST, který používá webpack, Vite, Rollup a většina moderních build nástrojů pro JavaScript. Protože kód skutečně parsuje místo porovnávání textových vzorů, správně rozliší operátor dělení od regulárního výrazu, nerozbije template stringy obsahující sekvence vypadající jako //, a nepřejmenuje proměnnou na název kolidující s něčím ve vnějším scope.
Proč ho používat?
- Minifikace založená na AST (Terser), stejný engine, jaký používají velké bundlery — bezpečná u regulárních výrazů, template stringů a closures.
- Zkracuje názvy proměnných pro skutečnou úsporu velikosti, ne jen odstranění mezer.
- Přesně vidíte, kolik bajtů a kolik procent jste ušetřili.
- Režim formátování promění zaobfuskovaný, jednořádkový minifikovaný JS zpět na čitelný, odsazený kód — užitečné pro pochopení skriptů třetích stran.
- 100% zpracování na straně klienta — proprietární kód nikdy neopustí váš prohlížeč.
Jak se používá
- Vložte svůj JavaScript do vstupního pole, nebo klikněte na "Load Example" pro vyzkoušení na ukázce s regulárním výrazem a template stringem.
- Klikněte na "Minify" pro zmenšení, nebo na "Format" pro zformátování s odsazením 2 mezerami.
- Zkontrolujte zprávu pod poli — režim minifikace ukáže zmenšení velikosti; syntaktická chyba ve vašem kódu se zobrazí jako jasná zpráva místo tichého vygenerování poškozeného výstupu.
- Klikněte na "Copy" pro zkopírování výsledku.
Příklad
Vstup
function greet(name) {
const pattern = /^[a-z]+$/i;
const msg = `Hello, ${name}!`;
if (pattern.test(name)) {
// simple check
return msg;
}
return "Hi there";
}Výstup
function greet(n){const e=/^[a-z]+$/i,g=`Hello, ${n}!`;return e.test(n)?g:"Hi there"}Názvy proměnných jsou zkráceny, komentář a if-příkaz jsou sbaleny do výrazu, ale regulární výraz a template string jsou zachovány přesně a chování se nezměnilo.
Praktické tipy
- Minifikujte při buildu, ne ručním upravováním — čitelný zdrojový kód si nechte ve verzovacím systému a minifikovaný balíček generujte jako krok buildu.
- Pokud se minifikovaný výstup chová neočekávaně, zkontrolujte kód spoléhající na Function.prototype.name nebo reflexi — zkracování názvů přejmenovává funkce a to se může v ojedinělých případech projevit.
- Zformátování skriptu třetí strany před čtením je mnohem rychlejší než snažit se rozparsovat jeden 2000znakový řádek.
- Zkombinujte s HTML a CSS minifikátory níže, pokud připravujete kompletní statický balíček pro nasazení.
Kde se to hodí v reálné praxi
JavaScript je obvykle největší asset blokující vykreslení nebo zpracování na stránce, takže jeho minifikace má reálný, měřitelný dopad na dobu načítání — víc než HTML nebo CSS bajt po bajtu. Většina moderních frameworků to dělá automaticky při buildu, ale ručně psané skripty, rozšíření prohlížeče a bookmarklety se často nasazují neminifikované, pokud je někdo neprožene nástrojem, jako je tento.
Směr formátování se běžně používá i opačně: ladění produkční chyby z minifikovaného stack trace je mnohem jednodušší, jakmile je okolní kód přeformátovaný a čitelný, i bez původních názvů proměnných.
Časté případy použití
- Zmenšení samostatného skriptu nebo bookmarkletu před zveřejněním.
- Přeformátování minifikovaného skriptu staženého z živého webu pro pochopení, co dělá.
- Vyčištění JavaScriptu vloženého z příspěvku na fóru nebo úryvku vygenerovaného AI před pečlivým přečtením.
- Rychlá kontrola, zda ručně psaný úryvek JS obsahuje syntaktickou chybu, protože selhání parsování se projeví jako explicitní zpráva.
Časté dotazy
Nahrává se můj JavaScript někam?
Ne. Minifikace i formátování probíhají lokálně v prohlížeči pomocí JavaScriptu. Nic, co vložíte, se neposílá na server, což je bezpečné pro proprietární nebo nezveřejněný kód.
Je bezpečné nasadit minifikovaný JavaScript — nerozbije mi to kód?
Je postaven na Terseru, minifikátoru založeném na AST, kterému věří webpack, Vite a Rollup pro produkční buildy, takže JavaScript skutečně parsuje místo hádání z textu. Přesto se jakýkoli minifikátor občas může nepříznivě potkat s kódem, který spoléhá na function.name, eval() nebo nestandardní globální proměnné — po minifikaci svůj balíček otestujte, stejně jako u jakéhokoli build nástroje.
Obfuskuje minifikace můj kód?
Zkracuje názvy proměnných a odstraňuje strukturu, což ztěžuje čtení kódu, ale nejde o skutečnou obfuskaci ani ochranu — kdokoli ho může poslat přes formátovač (jako tlačítko Format zde) a přečíst logiku. Nespoléhejte na minifikaci při skrývání tajemství nebo obchodní logiky.
O kolik se JavaScript typicky zmenší?
Ručně psaný kód s dlouhými názvy proměnných, komentáři a mezerami se běžně zmenší o 50–70 % díky minifikaci a zkracování názvů. Kód už vygenerovaný bundlerem ušetří méně.
Můžu přečíst minifikovaný JavaScript z webu, který zkoumám?
Ano — vložte ho a klikněte na "Format" pro opětovné odsazení. Názvy proměnných budou stále krátké a bezvýznamné, protože minifikace už zahodila originály, ale struktura se stane čitelnou.