Caratteristiche Principali del Nostro Formattatore SVG
- **Modalità Abbellisci** con indentazione intelligente, a capo riga e allineamento attributi
- **Modalità Minifica** che rimuove spazi bianchi, commenti e metadati ridondanti
- Formattazione in stile Prettier e ottimizzazione in stile SVGO sotto il cofano
- Stile indentazione configurabile (spazi o tabulazioni) e dimensione indentazione
- Colonna di a capo opzionale per mantenere percorsi lunghi e attributi ordinati
- Stile di fine riga coerente (LF / CRLF) per diff puliti su tutti i sistemi operativi
- Trascina e rilascia file `.svg` fino a 5 MB o incolla il markup SVG inline
- Elaborazione 100% lato client — la tua grafica non lascia mai il browser
- Copia con un clic o scarica l'output formattato (`.formatted.svg`) o minimizzato (`.min.svg`)
- Interfaccia utente reattiva che funziona bene su laptop, desktop e tablet
🔧 Come Formattare o Minimizzare SVG: Guida Rapida for svg-formatter
1. Incolla o Carica SVG
📥 Trascina e rilascia il tuo file `.svg` o incolla il markup SVG grezzo nell'editor. Lo strumento rileva automaticamente il contenuto standard `image/svg+xml`.
2. Scegli Formatta o Minimizza
✨ Seleziona **Formatta** per un markup leggibile (ottimo per revisioni e controllo versione) o **Minimizza** per la dimensione file più piccola possibile.
3. Regola le Opzioni di Formattazione
⚙️ Modifica **Stile Indentazione** (spazi o tabulazioni), **Dimensione Indentazione** e opzionale **A capo / Lunghezza Riga**. Queste si mappano direttamente alle impostazioni del formattatore sottostante.
4. Anteprima ed Esporta
👀 Ispeziona il codice SVG ottimizzato, testalo rapidamente nel tuo progetto, poi copialo negli appunti o scarica il risultato come nuovo file `.svg`.
Dettagli Tecnici
Motore di Abbellimento (Modalità Formatta)
La modalità Formatta utilizza un motore in stile Prettier ottimizzato per il markup XML SVG. Si concentra sulla leggibilità e su diff stabili e prevedibili.
| Aspetto | Comportamento | Note |
|---|---|---|
| Stile Indentazione | Spazi o Tabulazioni | Configurabile tramite **Stile Indentazione** (si mappa a `indentStyle`). |
| Dimensione Indentazione | 1–8 spazi | Controlla la larghezza dell'annidamento quando si usano spazi (si mappa a `indentSize`). |
| A capo / Lunghezza Riga | 0–120 colonne | `0` disabilita l'a capo; altrimenti le righe lunghe vengono spezzate alla colonna scelta (si mappa a `wrapLineLength`). |
| Fine Riga | LF (`\n`) o CRLF (`\r\n`) | Mantiene i fine riga coerenti su tutti i sistemi operativi (si mappa a `endOfLine`). |
| Lingua di Output | SVG in stile XML | Mantiene la struttura XML compatibile con SVG per un incorporamento sicuro. |
Pipeline di Minificazione (Modalità Minify)
La modalità Minify utilizza una pipeline ispirata a SVGO focalizzata sulla riduzione delle dimensioni preservando l'output visivo.
| Passo | Descrizione | Impatto |
|---|---|---|
| Rimuovi commenti | Rimuove i nodi commento `<!-- ... -->` che non influenzano il rendering. | File più piccoli, differenze più pulite. |
| Riduci spazi bianchi ridondanti | Comprime spazi, tabulazioni e interruzioni di riga non necessari. | Grandi vantaggi per SVG esportati da editor verbosi. |
| Taglia metadati | Rimuove opzionalmente i nodi metadati non di rendering quando sicuro. | Ottimo per asset di produzione pubblici. |
| Normalizza attributi | Semplifica e riordina gli attributi in modo stabile. | Output più compatto, migliore cacheabilità. |
Codifica & Compatibilità
L'output è SVG UTF-8 compatibile con browser e strumenti moderni, allineato con la specifica SVG 2.
Prestazioni & Limiti (Tipico Browser Desktop)
| Tipo di File | Dimensione Input | Tempo Beautify | Tempo Minify | Riduzione Dimensioni Tipica |
|---|---|---|---|---|
| Icona | 5 KB | ⚡ < 15 ms | ⚡ < 20 ms | ≈ 25–40% |
| Illustrazione | 100 KB | ⚡ < 60 ms | ⚡ < 90 ms | ≈ 40–55% |
| Grafica Eroica | 500 KB | ⏱️ < 300 ms | ⏱️ < 450 ms | ≈ 50–60% |
Alternative CLI per Utenti Esperti
Preferisci flussi di lavoro da terminale o integrazione CI? Combina Prettier e SVGO per un comportamento simile a questo strumento:
Linux / 🍎 macOS
Abbellisci SVG con Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgApplica indentazione coerente e a capo automatico al tuo markup SVG.
Minifica SVG con SVGO
npx svgo input.svg -o input.min.svgRimuove commenti, metadati e spazi bianchi ridondanti per file più piccoli.
Windows (PowerShell o CMD)
Formatta SVG con xmlstarlet (tramite WSL o nativo)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgFormatta SVG/XML con un'indentazione di 2 spazi.
Minifica SVG con SVGO (nessuna installazione globale)
npx svgo input.svg -o min.svgEsegue SVGO direttamente tramite `npx` per ottimizzazioni occasionali.
Applicazioni Pratiche
Prestazioni Web e Bundle Frontend
- Riduci i payload SVG nei sistemi di design, set di icone e sprite sheet.
- Inserisci SVG minificati in HTML/CSS per risparmiare richieste HTTP extra.
- Migliora i Core Web Vitals riducendo le illustrazioni eroiche nelle pagine di destinazione.
<img src="/assets/hero.min.svg" alt="Grafica eroica ottimizzata" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }Passaggio Design e Controllo Versione
- Abbella SVG esportati prima della code review per rendere i diff leggibili.
- Mantieni un `.formatted.svg` per la collaborazione e un `.min.svg` per la produzione.
- Impone indentazione coerente e ordinamento attributi in un sistema di design.
Mobile, Email e App Ibride
- Minifica SVG inline in email HTML per campagne più leggere.
- Riduci la dimensione del bundle app in React Native / Capacitor / Ionic quando si spediscono molte icone.
- Risparmia larghezza di banda per gli utenti con connessioni lente o a consumo.
❓ Frequently Asked Questions
❓Cos'è la formattazione SVG?
📏La minimizzazione altererà l'aspetto del mio SVG?
🔒Il mio SVG viene caricato su un server?
🚀Quanto spazio può risparmiare la minimizzazione?
⚠️La rimozione di `<metadata>` o commenti può interrompere il mio flusso di lavoro?
Pro Tips
Conserva un `icon.formatted.svg` non minimizzato nel tuo repo per diff puliti, poi genera `icon.min.svg` come parte del tuo step di build.
Includi sempre elementi `<title>` e `<desc>` significativi prima della minimizzazione per mantenere i tuoi SVG accessibili ai lettori di schermo.
Combina la minimizzazione SVG con la compressione HTTP (Gzip/Brotli) per ridurre ulteriormente i byte di illustrazioni e grafici pesanti.
Per set di icone, considera una strategia sprite: minimizza una volta, poi referenzia le icone tramite `<use>` invece di duplicare il codice SVG ovunque.
Additional Resources
Other Tools
- Abbellitore CSS
- Abbellitore HTML
- Abbellitore Javascript
- Abbellitore PHP
- Selettore Colori
- Estrattore Sprite
- Decodificatore Base64
- Codificatore Base64
- Formattatore Csharp
- Formattatore CSV
- Dockerfile Formatter
- Formattatore Elm
- Formattatore ENV
- Formattatore Go
- Formattatore GraphQL
- Formattatore HCL
- Formattatore INI
- Formattatore JSON
- Formattatore LaTeX
- Formattatore Markdown
- Formattatore Objective-C
- Php Formatter
- Formattatore Proto
- Formattatore Python
- Formattatore Ruby
- Formattatore Rust
- Formattatore Scala
- Formattatore Script Shell
- Formattatore SQL
- Formattatore Swift
- Formattatore TOML
- Typescript Formatter
- Formattatore XML
- Formattatore YAML
- Formattatore Yarn
- Minificatore CSS
- Html Minifier
- Javascript Minifier
- Minificatore JSON
- Minificatore XML
- Visualizzatore Intestazioni HTTP
- PDF a Testo
- Tester Regex
- Controllore Posizione SERP
- Ricerca Whois