Kort fortalt: Minification betyder at fjerne alt overflødigt i kildefilen før den sendes til browseren: mellemrum, linjeskift, kommentarer og i nogle tilfælde langvarige variabelnavne (især i minificeret JS med “mangling”). Resultatet er færre bytes at downloade og ofte hurtigere parsing - især på mobil, hvor CPU til at læse tegn er en reel omkostning.
Hvad sker der under minification?
- JavaScript: Fjernelse af kommentarer og whitespace; ofte omdøbning af lokale symboler til korte navne (hvis bundleren er konfigureret til det). Semantikken bevares - det er ikke “obfuscation” som mål, men kompakthed.
- CSS: Fjernelse af kommentarer og unødvendig whitespace; nogle værktøjer kan også flette eller optimere enkelte regler.
- HTML: Fjernelse af whitespace mellem tags - skal gøres med viden om hvor whitespace betyder noget for indhold (fx
<pre>).
Hvad minification ikke løser
Minification er ikke det samme som at fjerne ubrugt kode. Til det bruger du tree-shaking, død-kode-elimination og arkitekturvalg (færre dependencies). En minificeret fil med 500 KB ubrugt bibliotek er stadig 500 KB.
Den gør heller ikke langsom algoritme hurtig: den reducerer ikke antallet af operationer i din JavaScript-logik, kun hvor mange tegn parseren skal læse.
Den erstatter heller ikke code splitting (code splitting): du kan stadig sende for meget kode på den første route, selvom den er minificeret.
I praksis: build-pipeline og cache
I produktion bør CSS og JS typisk:
- Bygges med minification slået til (production mode i Vite, webpack, osv.).
- Navngives med hash i filnavn ved deploy (
app.a1b2c3.js), så du kan sætte lang browser-cache medimmutableuden at brugere hænger fast på gammel kode. - Serveres med gzip eller helst Brotli - minification + komprimering giver ofte den største gevinst samlet.
Faldgruber
- Source maps: I produktion vil du ofte have source maps til fejlsøgning, men de skal ikke lække følsom struktur - konfigurér adgang (fx kun internt eller via hemmeligt sti).
- Fejlsøgning: Minificeret stack trace er sværere at læse; gode source maps er nødvendige for drift.
- HTML og CMS: Hvis CMS genererer HTML med betydningsfuldt whitespace, skal minifier respektere det - ellers kan layout eller “word breaks” ændre sig uventet.
Relaterede begreber
- JavaScript bundle - hvor meget der overhovedet sendes
- Render-blocking - minification hjælper, men fjerner ikke blokering
- Brotli, gzip
FAQ
Er minification det samme som gzip eller Brotli?
Nej. Minification ændrer selve kildekoden (færre tegn i filen). Gzip/Brotli komprimerer bytes til transport - det er et ekstra lag, som du næsten altid vil have på i produktion, uanset minification.
Skal jeg minificere HTML?
Ofte ja i produktion, men med omtanke: præformateret tekst og visse whitespace-afhængige layouts kan kræve konfiguration. De fleste statiske site-generatorer og frameworks håndterer dette.
Næste skridt fra begreb til handling
Guides og blogindlæg der matcher begrebets emne - ud fra fælles tags og sidens fokus.
Fjern render blocking CSS og JavaScript for hurtigere første visning
Lær hvordan du reducerer render blocking fra CSS og JavaScript, så siden viser indhold hurtigere og giver bedre FCP og LCP.
Fjern eller udsæt tunge tredjeparts scripts uden at ødelægge funktionalitet
Følg en praktisk guide til at finde, vurdere og udsætte tredjeparts scripts, så de ikke ødelægger LCP, INP og den samlede brugeroplevelse.
Sådan finder du lange tasks i DevTools og forbedrer INP
Lær hvordan du bruger DevTools til at finde lange tasks, tunge event handlers og JavaScript der gør siden træg at bruge.
Hvordan tredjeparts scripts gør din hjemmeside langsom
Få overblik over hvordan chat widgets, tracking, consent, video embeds og andre tredjeparts scripts påvirker LCP, INP, CLS og TTFB.
Cookie banner og Core Web Vitals: den oversete årsag til dårlig brugeroplevelse
Se hvordan cookie bannere og consent scripts kan påvirke load, layout og interaktion, og lær hvordan du undgår at de ødelægger brugeroplevelsen.
Sådan læser du en waterfall og finder flaskehalse i load
Lær at læse en waterfall korrekt og find problemer med TTFB, LCP, render blocking og tredjepart, så du kan prioritere den rigtige optimering.