Ottimizzatore SVG

Ottimizza e minifica i tuoi file SVG rimuovendo commenti, metadati e spazi superflui.

Anteprima

Informazioni sull'ottimizzazione SVG

I file SVG esportati da Illustrator, Figma o Inkscape contengono spesso metadati, commenti, attributi propri dell'editor e spazi superflui che aumentano la dimensione del file senza influire sul rendering visivo. Ottimizzare un SVG può ridurre la sua dimensione del 20-60 %, il che migliora i tempi di caricamento. Questo strumento applica ottimizzazioni sicure che preservano l'aspetto visivo.

Come funziona

  1. Incolla o carica un SVG: inserisci il markup SVG direttamente o carica un file .svg esportato da Illustrator, Figma o Sketch.
  2. Configura le passate di ottimizzazione: scegli quali ottimizzazioni applicare, rimozione di commenti, eliminazione di metadati, semplificazione dei tracciati e normalizzazione del viewBox.
  3. Ottimizza: lo strumento esegue le passate scelte e visualizza la percentuale di riduzione di dimensione.
  4. Scarica o copia: salva il SVG ottimizzato o copia il markup per incollarlo nel tuo codice.

Perché ottimizzare i tuoi SVG?

I file SVG esportati dagli strumenti di design sono pieni di dati superflui, metadati di editor, dichiarazioni di stile inline con valori predefiniti, gruppi vuoti, attributi di trasformazione ridondanti e commenti. Questo surplus aumenta la dimensione senza cambiare nulla nel rendering. SVGO (l'ottimizzatore SVG standard del settore qui usato) può generalmente ridurre la dimensione del 50-80 % preservando un rendering pixel perfect. SVG più piccoli si caricano più velocemente, si integrano più rapidamente in HTML e riducono la banda, particolarmente importante per i sistemi di icone che caricano dozzine di SVG per pagina.

Ottimizzazioni applicate

Breve storia di SVG e SVGO

Scalable Vector Graphics nacque dalla competizione tra due proposte W3C: Precision Graphics Markup Language (PGML) di Adobe, IBM, Netscape e Sun, e Vector Markup Language (VML) di Microsoft. Entrambi furono presentati nel 1998; il compromesso W3C divenne SVG, raccomandato come SVG 1.0 nel settembre 2001. Internet Explorer rifiutò notoriamente di spedire il supporto SVG fino a IE9 (2011), mentre Firefox, Safari e Opera lo supportarono dalla metà degli anni 2000. SVG 1.1 apparve nel 2003, con una Seconda Edizione nel 2011. SVG Tiny 1.2 mirò ai dispositivi mobili nel 2008. SVG 2 iniziò la stesura intorno al 2016 ma si bloccò; oggi rimane un Candidate Recommendation Draft (ultimo aggiornamento nel 2018), con i browser che spediscono pezzi individualmente. L'ottimizzazione arrivò più tardi. SVGO fu creato da Kir Belevich (svg-go) e pubblicato per la prima volta su GitHub nell'ottobre 2012, scritto in JavaScript. Divenne lo standard de facto, integrato in webpack-loader, Vite, Sketch, plugin di esportazione Figma, e l'interfaccia web SVGOMG di Jake Archibald (team Chrome) lanciata nel 2015. SVGO 3 (rilasciato nel 2023) ha modernizzato il codice. Questo strumento implementa un sottoinsieme sicuro dei plugin più impattanti di SVGO, eseguendosi interamente nel tuo browser.

Cosa fa davvero un ottimizzatore SVG

Dove conta l'ottimizzazione SVG

Errori di ottimizzazione che rompono SVG

Altre domande frequenti

Quanto può davvero risparmiare l'ottimizzazione SVG?

Dipende molto dalla fonte. Le esportazioni di Adobe Illustrator spesso si riducono del 60-80% al primo passaggio, principalmente da metadati, namespace dell'editor e riduzione della precisione decimale. Le esportazioni Figma sono più pulite di fabbrica (tipicamente 20-40% di risparmio). SVG scritto a mano da uno sviluppatore? Spesso 5-15%, dato che non c'è molto da eliminare. Il logo Wikipedia, caso estremo di bloat Illustrator, è andato da 39 KB a 11 KB. Una tipica icona 24×24 da Figma scende da 1,4 KB a 0,6 KB.

Quando dovrei inlinare SVG vs usarlo come file esterno?

Inline (<svg>...</svg> in HTML) per piccole icone (sotto 2 KB), contenuto critico above-the-fold, e ovunque tu abbia bisogno di CSS per stilizzare il SVG (es. currentColor, stati hover, modalità scura). File esterno (<img src="icon.svg"> o CSS background-image) per icone identiche usate ripetutamente (il browser memorizza in cache), illustrazioni più grandi, contenuto che non ha bisogno di tematizzazione CSS. SVG sprite (file singolo con più elementi <symbol>, referenziato da <use>) era il pattern di sistema di icone del 2014-2019, ora largamente superato da componenti inline-svg in React/Vue/Svelte.

Ci sono rischi di sicurezza nei SVG non ottimizzati?

Sì. SVG può incorporare tag <script> e gestori di eventi onload, onclick; i SVG caricati dagli utenti sono un vettore XSS. SVG può referenziare risorse esterne tramite <image href="...">, perdendo l'IP del visualizzatore. I font SVG (deprecati ma ancora analizzabili) avevano storicamente buffer overflow. Un buon ottimizzatore rimuove <script> e gestori di eventi come parte della pulizia; se accetti caricamenti SVG utente, falli passare attraverso un sanificatore rafforzato (DOMPurify con profilo SVG) prima di servire.

Posso ottimizzare SVG usando la riga di comando?

Sì. npx svgo input.svg -o output.svg usa la libreria canonica SVGO. Configura plugin tramite svgo.config.js. Integrazioni CI: imagemin-svgo in webpack, vite-plugin-svgo, GitHub Action antfu/svg-opt. Per ottimizzazione batch: svgo -f ./icons -o ./icons-optimised. Lo strumento browser qui è più veloce per casi singoli e funziona senza Node installato.

Il mio SVG viene inviato a un server quando ottimizzo qui?

No. L'ottimizzazione gira interamente nel tuo browser tramite JavaScript sul markup SVG che incolli. Apri la scheda Network in DevTools mentre ottimizzi; vedrai zero richieste in uscita. Sicuro per loghi proprietari, design di icone non rilasciati, SVG aziendali interni, e qualsiasi cosa soggetta a NDA.

Strumenti correlati