Cookie Questo sito conserva solo ciò che serve per funzionare. Al momento non ci sono né statistiche né pubblicità, e nulla di quanto trovi qui ti segue su altri siti. Leggi l’informativa sulla privacy

Scegli cosa consentire
+92 312 8299940Preventivo gratuito
Gratis, nessun caricamento

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

oppure premi Ctrl + Invio

Risultato minificato

 
Originale
—
Minificato
—
Risparmiato
—
Con gzip
—
Nomi accorciati
—
Tempo
—

Pronto. Incolla il tuo JavaScript, poi premi Minifica o Abbellisci.

Il tuo browser legge e riscrive il codice qui, in questa scheda. Non carichiamo nulla, non salviamo nulla e non registriamo nulla.
In breve

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.

Diagramma di una funzione JavaScript i cui nomi lunghi si riducono a singole lettere mentre scompaiono i commenti e la chiamata a console
I nomi lunghi diventano corti.

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.

Minificatore JavaScript con una piccola funzione incollata a sinistra e il codice compattato a destra, entrambe le caselle evidenziate
Incolla il codice, ottieni la copia compatta.

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.

Minificatore JavaScript con l’accorciamento dei nomi e la rimozione di console attivi, così il risultato usa nomi di una lettera e non ha chiamate di log
Nomi più corti e nessuna riga di console.

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.

Minificatore JavaScript in modalità abbellisci, che trasforma una riga compatta in codice indentato, con il menu del rientro e il risultato evidenziati
La modalità abbellisci rende leggibile il codice compattato.

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.

Come funziona

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.

Perché questo

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.

Buone abitudini

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.
Da evitare

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

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 gratuiti

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.