Kluczowe Funkcje Naszego Formatownika SVG
- **Tryb upiększania** z inteligentnymi wcięciami, zawijaniem linii i wyrównaniem atrybutów
- **Tryb minifikacji**, który usuwa białe znaki, komentarze i zbędne metadane
- Formatowanie w stylu Prettier i optymalizacja w stylu SVGO pod maską
- Konfigurowalny styl wcięć (spacje lub tabulatory) i rozmiar wcięcia
- Opcjonalna kolumna zawijania, aby utrzymać długie ścieżki i atrybuty w porządku
- Spójny styl końca linii (LF / CRLF) dla czystych różnic między systemami operacyjnymi
- Przeciągnij i upuść pliki `.svg` do 5 MB lub wklej kod SVG inline
- 100% przetwarzania po stronie klienta — twoja grafika nigdy nie opuszcza przeglądarki
- Jednoklikowe kopiowanie lub pobieranie sformatowanego (`.formatted.svg`) lub zminimalizowanego (`.min.svg`) wyniku
- Responsywny interfejs działający płynnie na laptopach, komputerach stacjonarnych i tabletach
🔧 Jak sformatować lub zminimalizować SVG: Szybki przewodnik for svg-formatter
1. Wklej lub prześlij SVG
📥 Przeciągnij i upuść plik `.svg` lub wklej surowy kod SVG do edytora. Narzędzie automatycznie wykrywa standardową zawartość `image/svg+xml`.
2. Wybierz formatowanie lub minimalizację
✨ Wybierz **Formatuj** dla czytelnego kodu (idealne do przeglądów i kontroli wersji) lub **Minimalizuj** dla najmniejszego możliwego rozmiaru pliku.
3. Dostosuj opcje formatowania
⚙️ Dostosuj **Styl wcięcia** (spacje lub tabulatory), **Rozmiar wcięcia** i opcjonalne **Zawijanie / Długość linii**. Te ustawienia bezpośrednio odpowiadają ustawieniom formatowania.
4. Podgląd i eksport
👀 Sprawdź zoptymalizowany kod SVG, przetestuj go szybko w swoim projekcie, a następnie skopiuj do schowka lub pobierz wynik jako nowy plik `.svg`.
Szczegóły techniczne
Silnik upiększania (Tryb formatowania)
Tryb formatowania wykorzystuje silnik w stylu Prettier dostosowany do znaczników XML SVG. Skupia się na czytelności i stabilnych, przewidywalnych różnicach.
| Aspekt | Zachowanie | Uwagi |
|---|---|---|
| Styl wcięcia | Spacje lub Tabulatory | Konfigurowalne przez **Styl wcięcia** (odpowiada `indentStyle`). |
| Rozmiar wcięcia | 1–8 spacji | Kontroluje szerokość zagnieżdżenia przy użyciu spacji (odpowiada `indentSize`). |
| Zawijanie / Długość linii | 0–120 kolumn | `0` wyłącza zawijanie; w przeciwnym razie długie linie są zawijane wokół wybranej kolumny (odpowiada `wrapLineLength`). |
| Koniec linii | LF (`\n`) lub CRLF (`\r\n`) | Utrzymuje spójne końce linii między systemami operacyjnymi (odpowiada `endOfLine`). |
| Język wyjściowy | SVG w stylu XML | Zachowuje strukturę XML zgodną z SVG do bezpiecznego osadzania. |
Potok minifikacji (Tryb minifikacji)
Tryb minifikacji wykorzystuje potok inspirowany SVGO, skupiający się na redukcji rozmiaru przy zachowaniu wyjścia wizualnego.
| Krok | Opis | Wpływ |
|---|---|---|
| Usuń komentarze | Usuwa węzły komentarzy `<!-- ... -->`, które nie wpływają na renderowanie. | Mniejsze pliki, czystsze różnice. |
| Usuń zbędne białe znaki | Usuwa niepotrzebne spacje, tabulatory i znaki nowej linii. | Duże korzyści dla rozwlekłych SVG eksportowanych z edytorów. |
| Przytnij metadane | Opcjonalnie usuwa węzły metadanych nie wpływające na renderowanie, gdy jest to bezpieczne. | Dobre dla publicznych zasobów produkcyjnych. |
| Normalizuj atrybuty | Upraszcza i porządkuje atrybuty w stabilny sposób. | Bardziej zwarte wyjście, lepsza możliwość buforowania. |
Kodowanie i kompatybilność
Wyjście to UTF-8 SVG zgodne z nowoczesnymi przeglądarkami i narzędziami, zgodne ze specyfikacją SVG 2.
Wydajność i ograniczenia (Typowa przeglądarka desktopowa)
| Typ pliku | Rozmiar wejściowy | Czas upiększania | Czas minifikacji | Typowa redukcja rozmiaru |
|---|---|---|---|---|
| Ikona | 5 KB | ⚡ < 15 ms | ⚡ < 20 ms | ≈ 25–40% |
| Ilustracja | 100 KB | ⚡ < 60 ms | ⚡ < 90 ms | ≈ 40–55% |
| Grafika Bohatera | 500 KB | ⏱️ < 300 ms | ⏱️ < 450 ms | ≈ 50–60% |
Alternatywy CLI dla Zaawansowanych Użytkowników
Wolisz przepływy pracy w terminalu lub integrację z CI? Połącz Prettier i SVGO, aby uzyskać zachowanie podobne do tego narzędzia:
Linux / 🍎 macOS
Upiększ SVG za pomocą Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgStosuje spójne wcięcia i zawijanie linii do znaczników SVG.
Minimalizuj SVG za pomocą SVGO
npx svgo input.svg -o input.min.svgUsuwa komentarze, metadane i zbędne białe znaki dla mniejszych plików.
Windows (PowerShell lub CMD)
Sformatuj SVG za pomocą xmlstarlet (przez WSL lub natywnie)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgFormatuje SVG/XML z wcięciem 2 spacji.
Minimalizuj SVG za pomocą SVGO (bez globalnej instalacji)
npx svgo input.svg -o min.svgUruchamia SVGO bezpośrednio przez `npx` do jednorazowych optymalizacji.
Praktyczne Zastosowania
Wydajność Sieci i Pakiety Frontendowe
- Zmniejsz rozmiar SVG w systemach projektowych, zestawach ikon i arkuszach sprite'ów.
- Osadzaj zminimalizowane SVG w HTML/CSS, aby zaoszczędzić dodatkowe żądania HTTP.
- Popraw Core Web Vitals, zmniejszając ilustracje bohaterów na stronach docelowych.
<img src="/assets/hero.min.svg" alt="Zoptymalizowana grafika bohatera" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }Przekazanie Projektu i Kontrola Wersji
- Upiększ wyeksportowane SVG przed przeglądem kodu, aby różnice były czytelne.
- Zachowaj ładny `.formatted.svg` do współpracy i `.min.svg` do produkcji.
- Wymuszaj spójne wcięcia i kolejność atrybutów w systemie projektowym.
Aplikacje Mobilne, E-maile i Hybrydowe
- Minimalizuj osadzone SVG w e-mailach HTML dla lżejszych kampanii.
- Zmniejsz rozmiar pakietu aplikacji w React Native / Capacitor / Ionic przy dostarczaniu wielu ikon.
- Oszczędzaj przepustowość dla użytkowników z wolnymi lub limitowanymi połączeniami.
❓ Frequently Asked Questions
❓Czym jest formatowanie SVG?
📏Czy minifikacja zmieni wygląd mojego SVG?
🔒Czy moje SVG jest przesyłane na serwer?
🚀Ile miejsca można zaoszczędzić dzięki minifikacji?
⚠️Czy usunięcie `<metadata>` lub komentarzy może zakłócić mój przepływ pracy?
Pro Tips
Przechowuj niezmodyfikowany `icon.formatted.svg` w swoim repozytorium dla czystych różnic, a następnie generuj `icon.min.svg` jako część procesu budowania.
Zawsze dodawaj znaczące elementy `<title>` i `<desc>` przed minifikacją, aby zachować dostępność SVG dla czytników ekranu.
Połącz minifikację SVG z kompresją HTTP (Gzip/Brotli), aby wycisnąć jeszcze więcej bajtów z ciężkich ilustracji i wykresów.
Dla zestawów ikon rozważ strategię sprite: zminifikuj raz, a następnie odwołuj się do ikon przez `<use>` zamiast duplikować kod SVG wszędzie.
Additional Resources
Other Tools
- Upiększacz CSS
- Upiększacz HTML
- Upiększacz JavaScript
- Upiększacz PHP
- Wybór koloru
- Ekstraktor sprite'ów
- Dekoder Base64
- Koder Base64
- Formatowanie C#
- Formatowanie CSV
- Dockerfile Formatter
- Formatowanie Elm
- Formatowanie ENV
- Formatowanie Go
- Formatowanie GraphQL
- Formatowanie HCL
- Formatowanie INI
- Formatowanie JSON
- Formatowanie LaTeX
- Formatowanie Markdown
- Formatowanie Objective-C
- Php Formatter
- Formatowanie Proto
- Formatowanie Python
- Formatowanie Ruby
- Formatowanie Rust
- Formatowanie Scala
- Formatowanie skryptów powłoki
- Formatowanie SQL
- Formatowanie Swift
- Formatowanie TOML
- Typescript Formatter
- Formatowanie XML
- Formatowanie YAML
- Formatowanie Yarn
- Minifikator CSS
- Html Minifier
- Javascript Minifier
- Minifikator JSON
- Minifikator XML
- Przegląd nagłówków HTTP
- PDF do tekstu
- Tester wyrażeń regularnych
- Sprawdzanie pozycji w SERP
- Wyszukiwanie Whois