Minificatore JavaScript
File più piccoli, stesso comportamento
Questo minificatore JavaScript gratuito funziona online e mantiene il comportamento del tuo codice: lo analizza, accorcia i nomi, toglie ciò che nulla raggiunge e ti restituisce un file molto più piccolo. Prima incolla lo script o trascina i file. Poi premi un pulsante. Infine copia il risultato, perché tutto il lavoro avviene in questa scheda.
- GratisPrezzo
- Non serveAccount
- NessunoCaricamenti
- A ogni passaggioVerificato
Minificatore JavaScript
Incolla il codice o trascina i file — nulla viene caricato
Risultato minificato
- Originale
- —
- Minificato
- —
- Risparmiato
- —
- Con gzip
- —
- Nomi accorciati
- —
- Tempo
- —
Pronto. Incolla il tuo JavaScript, poi premi Minifica o Abbellisci.
Cos’è un minificatore JavaScript?
Un minificatore JavaScript prende un file scritto per essere letto dalle persone e lo riscrive perché lo scarichi un browser. I commenti vengono eliminati. L’indentazione se ne va. I nomi lunghi e descrittivi diventano brevi. Tuttavia il codice fa esattamente ciò che faceva prima, perché nulla di tutto questo cambia il significato del programma.
Il risparmio è reale. Uno script leggibile è fatto soprattutto di spazi e nomi, ed entrambi sono byte che i visitatori pagano a ogni visita. Perciò un file che scende da 40 KB a 18 KB arriva prima su un telefono, su una connessione lenta e dall’altra parte del mondo.
Questo analizza il codice invece di tirare a indovinare. Costruisce un albero sintattico, rinomina ciò che è sicuro rinominare, elimina ciò che nulla può raggiungere, calcola in anticipo l’aritmetica possibile e poi rilegge la propria risposta per verificarla. Le sezioni seguenti spiegano ogni passaggio, anche dove si ferma di proposito.
Un minificatore vive o muore in base a dove finiscono davvero le istruzioni. Il riferimento MDN sulla grammatica lessicale di JavaScript ne è il regolamento.
Quando minificare JavaScript
Minifica alla fine, mai all’inizio. Vuoi il file leggibile nell’editor e quello piccolo sul server. Quindi conserva l’originale, pubblica l’output e non modificare mai a mano la copia minificata.
Conta soprattutto per gli script che ogni pagina carica. Per esempio, un bundle condiviso che ogni visitatore scarica merita più attenzione di uno script su una pagina che nessuno apre.

Cosa non farà questo minificatore JS
Non rinominerà nulla che non possa dimostrare sicuro. Se il file contiene un blocco `with` o una chiamata diretta a eval, un nome può essere cercato come stringa durante l’esecuzione, e nessun parser può seguirlo. In quei file la rinomina si disattiva per l’intero file e lo strumento ti dice perché, invece di pubblicare una rinomina che si rompe in produzione.

Non rinominerà i nomi di primo livello, a meno che tu non spunti la casella. Il codice incollato di solito è uno script classico, dove una funzione di primo livello diventa una proprietà di window che un altro file può chiamare per nome. Invece dentro un modulo o una IIFE nulla dall’esterno può raggiungere quei nomi, quindi lì l’opzione regala byte.

Non toccherà globali o API del browser. window, document e console non sono tuoi da rinominare, quindi restano esattamente come scritti, insieme a tutto ciò che è importato, esportato o mai dichiarato nel file che gli hai dato.
Due parole sulle source map
Questo strumento non scrive ancora source map, quindi uno stack trace da output rinominato indicherà le funzioni con i nomi brevi. Se ti servono trace leggibili più degli ultimi byte, disattiva la rinomina; gli altri passaggi continuano a funzionare e conservi i nomi originali.
In questa pagina
- Lo strumento
- Cos’è un minificatore JavaScript?
- Minifica JavaScript in quattro passaggi
- Un minificatore JavaScript che controlla il proprio lavoro
- Ottenere il massimo da questo minificatore JS
- Errori che rompono una build minificata
- Domande frequenti sul minificatore JavaScript
- Altri strumenti che puoi usare subito
Continua
Minifica JavaScript in quattro passaggi
Niente programmi, niente account, niente code. Tutto gira nella scheda che hai già aperta.
- 1
Aggiungi il codice
Incolla uno script nell’editor o trascina i file .js nella scheda di caricamento. Entrambe le vie funzionano allo stesso modo.
- 2
Scegli cosa togliere
I commenti se ne vanno di default, e sono attivi anche rinomina, rimozione del codice inutilizzato e folding delle costanti. Inoltre puoi togliere le chiamate a console e le istruzioni debugger se pubblichi in produzione.
- 3
Premi minifica
Lo strumento analizza tutto il file, riscrive l’albero e poi rilegge la propria risposta prima di mostrartela.
- 4
Copia o scarica
Prendi il risultato come testo o salvalo come file .min.js. Nel frattempo l’originale resta esattamente come l’hai lasciato.
Un minificatore JavaScript che controlla il proprio lavoro
La maggior parte degli strumenti ti dà un file e spera. Questo invece rilegge il risultato prima ancora che tu lo veda.
Verifica ogni passaggio
Dopo la minificazione, riconverte il proprio output in un albero sintattico e lo confronta con l’originale: ogni nome a cui il codice fa ancora riferimento e la forma dell’albero stesso. Se qualcosa è cambiato, lo dice e ti restituisce l’originale invece di tacere.
Capisce la sintassi reale
Template literal, espressioni regolari, campi di classe, optional chaining e BigInt vengono letti correttamente. Così una barra non viene mai scambiata per un commento.
Rispetta i punti e virgola
Dove JavaScript inserisce un punto e virgola al posto tuo, l’a capo resta. Poiché quell’a capo costa un byte, tenerlo è gratis e anche più sicuro.
Nulla lascia la tua scheda
Il tuo codice non lascia mai la scheda. Non ci sono richieste, archiviazione o registri, quindi puoi incollare qui anche lavori privati in sicurezza.
Mantiene le tue licenze
I commenti banner marcati con un punto esclamativo, @license o @preserve restano nel file. Perciò puoi minificare codice di cui devi citare l’autore.
Mostra il numero reale
Vedi la dimensione gzip oltre a quella grezza, perché è il gzip a viaggiare davvero fino al tuo visitatore.
Ottenere il massimo da questo minificatore JS
Alcune piccole abitudini mantengono prevedibile una build minificata.
- Conserva l’originale. Modifica sempre il file leggibile. Così la copia minificata resta qualcosa che generi, mai qualcosa che mantieni.
- Minifica per ultimo. Eseguilo dopo il bundler e dopo i test. Altrimenti testi un file e ne pubblichi un altro.
- Servilo con gzip. Minificare e comprimere si sommano. Di conseguenza il peso trasferito scende molto sotto quello del file su disco.
- Togli le chiamate a console di proposito. Quell’opzione è spenta di default, perché una riga di log a volte regge qualcosa. Attivala quando sai che non è così.
- Guarda il badge di verifica. Se un giorno dice che un passaggio non è stato verificato, non pubblicare quel file. Invece mandaci il caso e tieni l’originale.
- Attenzione ai banner di licenza. Lascia attiva l’opzione dei banner quando il codice porta una nota di attribuzione che devi mantenere.
Errori che rompono una build minificata
Quasi ogni storia del tipo "il minificatore mi ha rotto il sito" è una di queste tre.
Modificare il file minificato
Le modifiche lì spariscono alla prossima build. Quindi la correzione va sempre nel sorgente.
Dipendere dai nomi delle funzioni
Il codice che legge fn.name, o confronta il nome di una classe come stringa, si rompe con qualsiasi minificatore che rinomina, compreso questo. Perciò disattiva la rinomina per quei file, oppure smetti di dipendere dal nome.
Minificare due volte
Ripassare un file già minificato non fa risparmiare nulla e rende solo più difficile leggere un confronto.
Domande frequenti sul minificatore JavaScript
Questo minificatore JavaScript romperà il mio codice?
Non dovrebbe, e lo verifica invece di darlo per scontato. Rianalizza il proprio output e lo confronta con l’originale, sia i nomi a cui il codice fa riferimento sia la forma dell’albero, quindi una stringa corrotta, una parentesi persa o una rinomina che ha catturato la variabile sbagliata vengono individuate e segnalate. Se un passaggio non supera la verifica, riottieni l’originale intatto.
Quanto diventerà più piccolo il mio file?
Il codice leggibile di solito cala dal 40 al 60 per cento, e lo strumento ti mostra il valore esatto per il tuo file. Il codice molto commentato e con nomi lunghi risparmia di più; invece il codice già compatto risparmia molto meno, perché resta meno da togliere.
Rinomina le variabili come altri strumenti?
Sì. Analizza ogni scope del file e dà nomi brevi a variabili locali, parametri e funzioni, i più brevi a ciò che compare di più. Globali, API del browser come window e document, import ed export non vengono mai rinominati; inoltre, se il file contiene un blocco `with` o un eval diretto, dove un nome può essere cercato come stringa durante l’esecuzione, la rinomina si disattiva del tutto e lo strumento ti spiega perché.
Il mio codice finisce su un server?
No. Tutto il minificatore gira nella scheda del browser. Non ci sono richieste, archiviazione o registri, quindi puoi incollare tranquillamente lavori che non ti è permesso condividere.
Posso minificare più file insieme?
Sì. Apri la scheda di caricamento e trascina tutti i file .js, .mjs o .cjs che vuoi. Lo strumento minifica ciascuno separatamente, e puoi scaricarli uno alla volta.
Gestisce il JavaScript moderno?
Sì. Moduli, classi, campi privati, template literal, optional chaining, nullish coalescing, BigInt e separatori numerici vengono letti correttamente. Tuttavia JSX e TypeScript non sono JavaScript, quindi compilali prima.
Altri strumenti che puoi usare subito
Ognuno gira nel browser e non ti chiede nulla.
Compressore SVG
Riduci file SVG o markup incollato, ed elimina gli script nascosti al loro interno.
Apri lo strumento →I tuoi PNG trasformati in WebP
Converti un lotto di immagini in un formato più leggero, mantenendo la trasparenza.
Apri lo strumento →Generatore di password
Crea una password forte e casuale o una passphrase che puoi pronunciare ad alta voce.
Apri lo strumento →
Riduci il tuo prossimo script in pochi secondi
Incolla il codice, premi un pulsante e verifica tu stesso il risparmio. Nessun dato parte e nessun dato resta memorizzato.