DokumentyObrazyMediaNarzędzia PDF

Optymalizator SVG Online

Optymalizuj i minifikuj pliki SVG. Zmniejsz rozmiar bez zmiany wygladu wizualnego.

Processed in your browser

Optymalizuj SVG do produkcji webowej

100% prywatne

Twoj SVG jest optymalizowany w Twojej przegladarce. Nigdy nie trafia na zadny serwer.

Do 90% mniejszy

Usuwa zbedne dane z Illustratora, Inkscape i Figmy. Pozostaja tylko niezbedne elementy.

Zachowany wyglad

Optymalizacje sa bezpieczne: wyglad wizualny nie zmienia sie w zdecydowanej wiekszosci przypadkow.

Gotowy do produkcji

Pobierz zoptymalizowany SVG i wstaw go bezposrednio do swojego HTML lub CSS.

Trzy kroki, żadnych komplikacji

1

Wgraj plik SVG

Przeciagnij lub wybierz plik .svg wyeksportowany z Illustratora, Inkscape, Figmy lub innego edytora.

2

Automatyczna optymalizacja

SVG jest czyszczony i minifikowany: usuwane sa zbedne metadane, komentarze, redundantne atrybuty, a sciezki sa optymalizowane.

3

Pobierz zoptymalizowany SVG

Porownaj rozmiar przed i po. Pobierz SVG gotowy do produkcji jednym kliknieciem.

Masz pytania?

W zdecydowanej wiekszosci przypadkow nie. Bezpieczne optymalizacje wykonywane przez to narzedzie (usuwanie metadanych, komentarzy, ukrytych elementow, redundantnych atrybutow i upraszczanie sciezek bez utraty precyzji) nie wplywaja na wyglad wizualny. Istnieje jednak maly zbior optymalizacji, ktore moga powodowac zmiany w granicznych przypadkach: redukcja precyzji dziesietnej wspolrzednych moze nieznacznie wplynac na ksztalt bardzo szczegolowych sciezek (choc wizualnie niespostrzegalnie w wiekszosci przypadkow), a usuwanie niektorych atrybutow CSS moze wplywac na SVG ze zlozzonymi stylami. Dla SVG uzywanych jako proste ikony lub statyczne ilustracje, optymalizacja jest calkowicie bezpieczna. Dla SVG z animacjami CSS lub JavaScript zalezacymi od konkretnych ID lub klas, zaleca sie przejrzenie wyniku przed uyciem w produkcji.

Optymalizacja SVG usuwa wszystko zbedne do renderowania wizualnego. W kategorii zbednych metadanych: deklaracje <?xml version='1.0'?> gdy nie sa potrzebne, deklaracje DOCTYPE, komentarze (z wyjatkiem komentarzy licencyjnych), elementy metadanych XML oraz przestrzenie nazw Inkscape (inkscape:, sodipodi:), Adobe Illustrator (ai:, i:) i CorelDRAW. W kategorii redundantnych atrybutow: atrybuty z wartosciami domyslnymi (np. fill='black', gdy czarny jest juz domyslny). W kategorii geometrii: sciezki z redundantnymi poleceniami (moveto natychmiast po kolejnym moveto), puste podsciezki i transformacje tozsamosciowe (transform='translate(0,0)'). Optymalizacja sciezek konwertuje krzywe Beziera do krotszych form, gdy jest to mozliwe, i redukuje precyzje dziesietna wspolrzednych.

Oszczednosci bardzo sie roznia w zaleznosci od zrodla SVG. SVG eksportowane z Adobe Illustratora sa notoryczniezdumiewajaco duze: moga zawierac dziesiatki kilobajtow metadanych aplikacji, ukrytych warstw, nieuzywanych definicji i niezoptymalizowanych sciezek. Prosta ikona wyeksportowana z Illustratora w rozmiarze 50 KB moze zostac zredukowana do 3-5 KB po optymalizacji (redukcja ponad 90%). SVG z Figmy sa czystsze, ale wciaz maja miejsce na poprawe: typowe redukcje 30-50% sa powszechne. SVG z Inkscape maja metadane specyficzne dla aplikacji (przestrzenie nazw sodipodi i inkscape), ktore dodaja zbedny ciezar do produkcji: typowe redukcje 40-60%. Srednio SVGO raportuje medialna redukcje 55-65% w swoich testach z rzeczywistymi SVG.

Zdecydowanie tak. Niezoptymalizowane SVG maja bezposredni wplyw na wydajnosc stron internetowych. SVG 80 KB vs zoptymalizowane 8 KB oznacza 10x mniej danych, ktore przeglajdarka musi pobrac, przeanalizowac i renderowac. Wplyw jest szczegolnie widoczny na urzadzeniach mobilnych z powolnymi polaczeniami. Dla ikon SVG (najczestszych w internecie), optymalny rozmiar po optymalizacji powinien byc ponizej 1 KB dla prostych ikon i ponizej 10 KB dla zlozonych ilustracji. Poza bezposrednia redukcja rozmiaru, zoptymalizowane SVG lepiej kompresuja sie za pomoca gzip lub Brotli (algorytmy kompresji HTTP), poniewaz czystsze pliki maja nizsza entropie. Narzedzia do audytu wydajnosci, takie jak Lighthouse Google, penalizuja niezoptymalizowane zasoby, w tym przewymiarowane SVG, w swoich wynikach wydajnosci.

Tak, pewne agresywne optymalizacje moga zepsuc SVG z interaktywnoscia. Glowne przypadki to: (1) Usuwanie ID: jezeli SVG ma animacje CSS lub JavaScript odwolujace sie do elementow przez ich ID, usuniecie tych ID zepsuje funkcjonalnosc. (2) Usuwanie klas: podobnie do poprzedniego przypadku z klasami CSS. (3) Kolapsowanie grup: laczenie grup <g> moze zmieniac kolejnosc renderowania lub eliminowac punkty odniesienia dla animacji. (4) Inlinowanie stylow: konwertowanie klas CSS do atrybutow style inline moze kolidowac z zewnetrznym CSS celujacym w te klasy. Dla animowanych lub interaktywnych SVG zalecany jest konserwatywny profil optymalizacji, ktory zachowuje ID i klasy, lub reczna weryfikacja wyniku.

SVGO (SVG Optimizer) to najszerzej uzywane narzedzie do optymalizacji SVG w ekosystemie JavaScript/Node.js. Zostal stworzony przez Kira Belevicza w 2012 roku i jest dostepny jako pakiet npm (npm install -g svgo). SVGO uzywa architektury wtyczek: kazdy typ optymalizacji to niezalezna wtyczka, ktora moze byc indywidualnie wlaczana lub wylaczana. Wtyczki sa podzielone na dwie kategorie: preset-default (wtyczki domyslnie wlaczone, uwazane za bezpieczne) i opcjonalne wtyczki (bardziej agresywne, domyslnie wylaczone). SVGO v3 (wydany w 2022 roku) to aktualna wersja, z pelnym wsparciem SVG 2.0. Narzedzie integruje sie z najpopularniejszymi systemami budowania: jest svgo-loader dla webpack, @svgr/webpack dla React (ktory wewnetrznie uzywa SVGO), vite-plugin-svgo dla Vite i wtyczki dla Rollup i esbuild. W 2020 roku Jake Archibald stworzyl SVGOMG, interfejs webowy dla SVGO, ktory umozliwia wizualizacje wyniku i interaktywne dostosowywanie wtyczek.

Optymalizacja SVG: SVGO, sciezki, viewBox i wydajnosc webowa

Format SVG (Scalable Vector Graphics) zostal opracowany przez W3C i stal sie oficjalnym zaleceniem w 2001 roku z SVG 1.0, choc jego powszechna adopcja webowa nastapila wraz z HTML5 i natywnym wsparciem we wszystkich glownych przeglajdarkach okolo 2012 roku. Glowna zaleta SVG nad formatami rastrowymi, takimi jak PNG lub JPG, jest niezaleznosc od rozdzielczosci: 1 KB SVG wyglada doskonale na ekranie 72 DPI, na iPhone Retina przy 458 DPI i na wyswietlaczu 8K przy 220 DPI, bez pikselizacji. To szczegolnie wazne w ekosystemie ekranow o roznych gestosciach pikseli (DPR, Device Pixel Ratio). SVG generowane przez narzedzia projektowe zawieraja znaczne ilosci zbednych danych: Adobe Illustrator wlacza wlasna przestrzen nazw XML (xmlns:ai), dane sesji edycji w elementach <foreignObject>, warstwy Illustratora jako grupy z zastrzezonymi atrybutami, a w starszych wersjach nawet osadzone podgladowe obrazy rastrowe. Inkscape dodaje przestrzenie nazw inkscape: i sodipodi:, ktore zawieraja informacje UI edytora zupelnie zbedne do renderowania.

Optymalizacja sciezek SVG to rodzaj optymalizacji z najwiekszym wplywem na rozmiar pliku dla ilustracyjnych SVG. Format sciezki SVG uzywa mini-jezyka z poleceniami jak M (moveto), L (lineto), C (curveto z kubicznym Bezierem), Q (curveto z kwadratowym Bezierem), A (arc), Z (closepath) i ich wariantami ze wspolrzednymi wzglednych. Edytory projektowe eksportuja sciezki z nadmierna precyzja: wspolrzedne z 6-8 miejscami po przecinku (np. M 123.456789 234.567890), gdy w praktyce 1-2 miejsca sa wystarczajace dla wizualnie nieodroznialne jakosci. Redukcja precyzji dziesietnej z 6 do 1 moze zmniejszyc rozmiar sciezki o 60-70% bez dostrzegalnej zmiany wizualnej. Atrybut viewBox jest kluczowy w optymalizacji SVG: definiuje wewnetrzny uklad wspolrzednych SVG i musi byc zawsze zachowany. SVG bez viewBox nie skaluje sie poprawnie z CSS.

W kontekscie nowoczesnego tworzenia stron internetowych, zoptymalizowane SVG maja trzy glowne zastosowania: ikony w formacie sprite, ilustracje inline HTML i obrazy tla CSS. Dla ikon, praktyka sprite SVG (laczenie wielu ikon w jednym pliku SVG z elementami symbol odwolywanymi za pomoca use xlink:href) zostala spopularyzowana przez Chrisa Coyiera na CSS-Tricks okolo 2012 roku i pozostaje istotna dla systemow ikon na duza skale. Frameworki takie jak Heroicons (Tailwind CSS), Feather Icons, Lucide React i Phosphor Icons dystrybuuja swoje ikony jako zoptymalizowane SVG o rozmiarach ponizej 1 KB. Dla ilustracji inline, wstawianie SVG bezposrednio do HTML umozliwia manipulacje za pomoca CSS i JavaScript, przejscia kolorow z niestandardowymi wlasnosciami CSS (zmienne CSS) i animacje CSS lub SMIL. SVGO integruje sie z nowoczesnymi bundlerami: Vite, uzywajac wtyczki vite-plugin-svgr, moze importowac SVG jako komponenty React juz zoptymalizowane za pomoca SVGO w czasie budowania.