CodeKitHub
Kodverktyg

JavaScript-minifierare och formaterare

Senast uppdaterad:

Klistra in JavaScript nedan för att minifiera den — kortare variabelnamn, borttaget whitespace och död kod — eller snygga till den i läsbar, indenterad kod. Båda riktningarna tolkar din kod till ett riktigt syntaxträd istället för att använda texttrick, så regex-literaler, mallsträngar och scoping hanteras korrekt.

Vad är detta verktyg?

En JavaScript-minifierare skriver om kod för att vara så liten som möjligt samtidigt som den beter sig identiskt: den förkortar variabel- och funktionsnamn där det är säkert, tar bort kommentarer och whitespace, viker samman konstanter, och eliminerar oåtkomlig kod.

Verktyget bygger på Terser, den AST-baserade minifieraren som används av webpack, Vite, Rollup och de flesta moderna JavaScript-byggverktyg. Eftersom det faktiskt tolkar din kod istället för att mönstermatcha text, skiljer det korrekt en divisionsoperator från en regex-literal, förstör inte mallsträngar som innehåller //-liknande sekvenser, och byter inte namn på en variabel till något som krockar med något i ett yttre scope.

Varför använda det?

  • AST-baserad minifiering (Terser), samma motor som används av stora bundlare — säker med regex-literaler, mallsträngar och closures.
  • Byter namn på variabler för verklig storleksbesparing, inte bara borttagning av whitespace.
  • Se exakt hur många byte och hur många procent du sparade.
  • Formatläge gör obfuskerad, enradig minifierad JS läsbar och indenterad igen — användbart för att förstå tredjepartsskript.
  • 100% lokal bearbetning — proprietär kod lämnar aldrig din webbläsare.

Så använder du det

  1. Klistra in din JavaScript i inmatningsrutan, eller klicka på "Läs in exempel" för att testa ett prov med en regex-literal och en mallsträng.
  2. Klicka på "Minifiera" för att komprimera den, eller "Formatera" för att snygga till den med 2-blankstegs indentering.
  3. Kolla meddelandet under rutorna — minifieringsläget visar storleksminskningen; ett syntaxfel i din kod visar ett tydligt meddelande istället för att tyst producera trasig utdata.
  4. Klicka på "Kopiera" för att hämta resultatet.

Exempel

Inmatning

function greet(name) {
  const pattern = /^[a-z]+$/i;
  const msg = `Hello, ${name}!`;
  if (pattern.test(name)) {
    // simple check
    return msg;
  }
  return "Hi there";
}

Resultat

function greet(n){const e=/^[a-z]+$/i,g=`Hello, ${n}!`;return e.test(n)?g:"Hi there"}

Variabelnamn förkortas, kommentaren och if-satsen slås samman till ett uttryck, men regex-literalen och mallsträngen bevaras exakt och beteendet är oförändrat.

Praktiska tips

  • Minifiera vid byggtillfället, inte genom manuell redigering — behåll läsbar källkod under versionshantering och generera den minifierade bundlen som ett byggsteg.
  • Om minifierad utdata beter sig oväntat, kontrollera kod som förlitar sig på Function.prototype.name eller reflektion — namnbyte kan orsaka detta i sällsynta gränsfall.
  • Att formatera ett tredjepartsskript innan man läser det är mycket snabbare än att försöka tyda en enda 2 000-teckens rad.
  • Kombinera med HTML- och CSS-minifierarna nedan om du förbereder en fullständig statisk bundle för driftsättning.

Var detta passar in i verkliga arbetsflöden

JavaScript är vanligtvis den största render- eller tolkningsblockerande tillgången på en sida, så att minifiera den har en verklig, mätbar effekt på laddningstiden — mer än HTML eller CSS byte för byte. De flesta moderna ramverk gör detta automatiskt vid byggtillfället, men handskrivna skript, webbläsartillägg och bokmärkeslänkar skickas ofta ominifierade om inte någon kör dem genom ett verktyg som detta.

Formateringsriktningen används ofta åt andra hållet: att felsöka ett produktionsfel från en minifierad stacktrace är mycket enklare när den omgivande koden är omformaterad och läsbar, även utan de ursprungliga variabelnamnen.

HTML-minifierare · CSS-minifierare

Vanliga användningsfall

  • Krympa ett fristående skript eller bokmärkeslänk innan publicering.
  • Omformatera ett minifierat skript hämtat från en live-webbplats för att förstå vad det gör.
  • Städa upp JavaScript inklistrad från ett forumsinlägg eller AI-genererat kodavsnitt innan noggrann genomläsning.
  • Snabbt kontrollera om ett handskrivet JS-avsnitt har ett syntaxfel, eftersom ett tolkningsfel visas som ett tydligt meddelande.

Vanliga frågor

Laddas min JavaScript upp någonstans?

Nej. Både minifiering och formatering sker lokalt i din webbläsare med JavaScript. Inget du klistrar in skickas till en server, vilket gör det säkert för proprietär eller opublicerad kod.

Är minifierad JavaScript säker att publicera — kommer den att förstöra min kod?

Den bygger på Terser, en AST-baserad minifierare som litas på av webpack, Vite och Rollup för produktionsbyggen, så den tolkar JavaScript korrekt istället för att gissa utifrån text. Men vilken minifierare som helst kan ibland interagera dåligt med kod som förlitar sig på function.name, eval() eller icke-standardglobala variabler — testa din bundle efter minifiering, som du skulle göra med vilket byggverktyg som helst.

Obfuskerar minifiering min kod?

Den krymper variabelnamn och tar bort struktur, vilket gör koden svårare att läsa, men detta är inte riktig obfuskering eller skydd — vem som helst kan fortfarande köra den genom en formaterare (som Formatera-knappen här) och läsa logiken. Lita inte på minifiering för att dölja hemligheter eller affärslogik.

Hur mycket mindre blir JavaScript vanligtvis?

Handskriven kod med långa variabelnamn, kommentarer och whitespace krymper vanligtvis 50–70% genom minifiering och namnbyte. Kod som redan producerats av en bundlare sparar mindre.

Kan jag läsa minifierad JavaScript från en webbplats jag granskar?

Ja — klistra in den och klicka på "Formatera" för att indentera om den. Variabelnamnen kommer fortfarande vara korta och meningslösa eftersom minifieringen redan kastat bort originalen, men strukturen blir läsbar.

Relaterade verktyg