JavaScript Minifier

Incolla del JavaScript per ridurlo con Terser: il codice morto viene rimosso, i nomi accorciati e gli spazi eliminati. Gli errori di sintassi indicano la riga e la colonna esatte.

Funziona nel browserNessuna registrazioneNessun caricamento

Output minificato

Come usare JavaScript Minifier

  1. Incolla il tuo JavaScript o apri un file .js.
  2. Scegli le opzioni: Offusca i nomi accorcia le variabili locali, Comprimi riscrive il codice in un equivalente più piccolo, Modulo ES abilita import/export al livello principale.
  3. Scegli il target ECMAScript supportato dai browser dei tuoi utenti. ES2020 è sicuro per tutti i browser evergreen.
  4. Controlla dimensione, risparmio e stima gzip sotto l'output.
  5. Copia il codice minificato o scaricalo come output.min.js.

Cosa fa un minifier JavaScript?

La minificazione rende il JavaScript più piccolo senza cambiarne il comportamento. Questo strumento usa Terser, il minifier dietro webpack, Vite e Rollup, e applica tre tipi di modifiche:

  • Rimozione di spazi e commenti: indentazione, a capo e commenti non servono al motore JavaScript.
  • Mangling: i nomi di variabili locali e parametri di funzione come subtotal diventano singole lettere. Nomi globali e proprietà degli oggetti restano invariati, così la tua API pubblica continua a funzionare.
  • Compressione: le espressioni costanti vengono calcolate in anticipo, il codice irraggiungibile viene eliminato, gli if diventano operatori ternari e le funzioni brevi vengono messe inline.

Minificazione e gzip: servono entrambi?

Sì. Gzip e Brotli comprimono le sequenze di byte ripetute durante il trasferimento, mentre la minificazione elimina byte che il browser dovrebbe altrimenti scaricare, analizzare e compilare. Uno script tipico si riduce del 40–60% con la minificazione e poi di un altro 60–70% con gzip. La dimensione gzip mostrata qui è una buona stima di ciò che il tuo server invierà davvero.

Mantenere i commenti di licenza

Molte licenze open source (MIT, BSD, Apache) richiedono che l'avviso di copyright resti nel codice. Per convenzione, i commenti che iniziano con /*! o contengono @license o @preserve vengono mantenuti quando Mantieni i commenti di licenza è attivo.

Quando non minificare a mano

Se il tuo progetto usa già un bundler, lascia che sia lui a minificare le build di produzione e a generare le source map per il debug. Un minifier online è ideale per script occasionali, snippet per un CMS o un tag manager, bookmarklet e per vedere quanto può diventare piccolo un pezzo di codice.

Domande frequenti

Il mio codice viene caricato su un server?
No. Terser gira nella scheda del tuo browser, quindi il codice proprietario non lascia mai il tuo computer.
La minificazione può rompere il mio codice?
Terser applica solo trasformazioni che mantengono identico il comportamento di JavaScript valido. Il codice che si basa su Function.prototype.toString() o sui nomi delle variabili locali tramite eval può esserne influenzato; in quel caso disattiva Offusca i nomi.
Supporta la sintassi moderna come async/await, classi e optional chaining?
Sì. Terser analizza la sintassi ES2022+. L'impostazione del target controlla solo quale sintassi può usare l'output; non traspila le funzionalità più recenti in quelle più vecchie.
Che differenza c'è tra minify e uglify?
Significano la stessa cosa. UglifyJS era lo strumento classico; Terser è il suo fork mantenuto con pieno supporto a ES2015+.

Strumenti correlati