Optimalizácia SVG
Optimalizuj a minifikuj súbory SVG online pomocou SVGO priamo v prehliadači. Vyber predvoľbu, vizuálne porovnaj výsledok a sleduj úsporu veľkosti aj po gzip.
Pluginy
Odstránenie viewBox zastaví škálovanie kresby a skrátenie alebo odstránenie ID pokazí CSS, JavaScript, <use> alebo odkazy na kotvy, ktoré sa na ne odvolávajú. Pri SVG používaných v kóde, sprite sheetoch alebo animáciách nechaj predvoľbu Bezpečná.
- Pôvodná veľkosť
- Optimalizovaná veľkosť
- Úspora
- Po gzip
Ako optimalizovať SVG
- Presuň súbor SVG do vyznačenej oblasti alebo na ňu klikni a vyber ho. Značky môžeš aj vložiť do poľa Kód SVG.
- Vyber Predvoľbu: Bezpečná, Vyvážená (predvolená) alebo Maximálna. Zoznam Pluginy nižšie presne ukazuje, ktoré kroky každá predvoľba zapína.
- V prípade potreby uprav Počet desatinných miest (0 až 8 číslic), Viac prechodov a Formátovaný výstup (odsadený), ak chceš čitateľný kód. Hneď ako zmeníš plugin, presnosť alebo počet prechodov, predvoľba sa prepne na Vlastná.
- Klikni na Optimalizovať SVG. Presunutý súbor sa optimalizuje hneď a keď už existuje výsledok, každá zmena nastavení spustí optimalizáciu automaticky znova.
- Skontroluj hodnoty Pôvodná veľkosť, Optimalizovaná veľkosť, Úspora a Po gzip a potom porovnaj obe kresby vedľa seba.
- Klikni na Kopírovať, ak chceš skopírovať Optimalizovaný kód SVG, alebo na Stiahnuť optimalizované SVG, ak ho chceš uložiť ako
name.min.svg.
Optimalizáciu robí SVGO 4, štandardný open source (MIT) optimalizátor SVG používaný vo väčšine webových nástrojov na zostavovanie. Jeho verzia pre prehliadač sa načíta pri prvom kliknutí a beží celá na tvojom zariadení: tvoje SVG sa nikdy nenahráva.
Prečo sú súbory SVG z dizajnérskych nástrojov také ťažké
SVG exportované z Illustratoru, Inkscapu, Figmy alebo Sketchu nesie omnoho viac než samotnú kresbu. Editory pridávajú vlastné menné priestory a atribúty (názvy vrstiev, vodidlá, nastavenia exportu), blok <metadata>, komentáre ako „Generator: Adobe Illustrator“, súradnice so šiestimi či viacerými desatinnými miestami, skupiny obsahujúce jediný element a rozvláčne farby ako #ffffff. Nič z toho nemení, čo prehliadač vykreslí. SVGO to odstráni, zaokrúhli čísla, prepíše údaje ciest kratšími príkazmi, skráti farby a zlúči alebo rozbalí nadbytočné elementy. Zmenšenie o 40 – 60 % je pri exportovaných ikonách a ilustráciách bežné.
Predvoľby a rizikové pluginy
- Bezpečná spúšťa predvolenú predvoľbu SVGO, ale zachová ID,
<desc>, samostatné cesty a pravidlá<style>, s 3 desatinnými miestami a jedným prechodom. Použi ju pre SVG, na ktoré sa odkazuje z CSS alebo JavaScriptu, pre sprite sheety a animácie. - Vyvážená je predvolená predvoľba SVGO, 3 desatinné miesta, viac prechodov. Hodí sa pre väčšinu ikon a ilustrácií zobrazovaných ako obrázky.
- Maximálna pridáva Odstrániť
, Odstrániť skripty a atribúty udalostí, Odstrániť width/height (ponechať viewBox) a Nahradiť xlink:href atribútom href, s 2 desatinnými miestami a viacerými prechodmi.
Žiadna predvoľba neodstraňuje viewBox. Odstrániť viewBox je tu iba pre zvláštne prípady: bez neho sa kresba už nedá škálovať na veľkosť, ktorú jej zadáš v CSS.
Vedz, čo môžu pokaziť ostatné pluginy:
- Skrátiť a odstrániť nepoužité ID premenuje ID ako
#icon-homenaa. Každý selektor CSS, dotaz JavaScriptu, odkaz sprite sheetu<use href="#…">, kotva na stránke alebo animácia SMIL/CSS, ktorá mieri na staré meno, prestane fungovať. - Odstrániť
a Odstrániť zmažú prístupný názov a popis. Ponechaj ich pri významných ikonách a grafoch, ktoré musia čítače obrazovky oznamovať. - Nízky Počet desatinných miest môže deformovať malé ikony: krivky sa vlnia a hrany sa posúvajú. Vždy skontroluj vizuálne porovnanie; 3 je bezpečná predvolená hodnota.
- Zlúčiť cesty spojí susedné cesty do jednej, takže efekt pri prechode myšou alebo animácia, ktorá mierila na jednu cestu, stratí svoj cieľ.
Tipy
- Ponechaj si neoptimalizovanú hlavnú kópiu na úpravy; so súborom
.min.svgzaobchádzaj ako so skompilovaným kódom. - Na serveri zapni gzip alebo brotli: textové formáty ako SVG sa komprimujú veľmi dobre a hodnota Po gzip ukazuje, čo si návštevníci skutočne sťahujú (zobrazí sa, ak tvoj prehliadač podporuje
CompressionStream). - Inline SVG sa dá štýlovať v CSS a animovať, ale neukladá sa do vyrovnávacej pamäte samostatne; SVG v
<img>sa ukladá, ale zo stránky sa nedá štýlovať.
Často kladené otázky
Nahráva sa moje SVG na server?
Nie. SVGO beží v tvojom prehliadači. Jediné sťahovanie je kód samotného optimalizátora pri prvej optimalizácii.
Prečo sa náhľad zobrazuje ako obrázky?
SVG je formát dokumentu, ktorý môže obsahovať JavaScript a načítavať externé súbory. Oba náhľady sa vykresľujú ako <img> z lokálnych adries blob a v tomto režime prehliadače nikdy nespúšťajú skripty ani nenačítavajú externé zdroje, takže náhľad nedôveryhodného SVG je tu bezpečný. Samotný optimalizovaný kód však skripty stále obsahuje, pokiaľ nie je zapnuté Odstrániť skripty a atribúty udalostí (v predvoľbe Maximálna je).
Moje optimalizované SVG sa už neškáluje. Čo sa stalo?
Pravdepodobne bol odstránený viewBox, buď pluginom Odstrániť viewBox, alebo skôr iným nástrojom. Optimalizuj originál znova s vypnutým týmto pluginom.
Prečo prestal fungovať môj sprite sheet ikon alebo animácia?
Skrátiť a odstrániť nepoužité ID alebo Zlúčiť cesty zmenili elementy, na ktoré sa tvoj kód odvoláva. Použi predvoľbu Bezpečná, ktorá zachová oboje.
Optimalizovaný súbor nie je menší. Prečo?
SVG je pravdepodobne už minifikované. Skús Maximálnu predvoľbu alebo nižší Počet desatinných miest a vypni Formátovaný výstup (odsadený).
Súvisiace nástroje
- Konvertor SVG na PNG Konvertuj SVG na PNG, JPG alebo WebP v prehliadači s ľubovoľnou šírkou, výškou, mierkou alebo DPI, s priehľadným či farebným pozadím. Dávka a ZIP.
- Vektorizácia obrázka na SVG Konvertuj logo alebo kresbu z PNG či JPG na vektorové cesty SVG priamo v prehliadači. Predvoľby, počet farieb, filter škvŕn, bezpečný náhľad, bez nahrávania.
- Kompresia obrázkov Komprimuj obrázky JPG, PNG a WebP s posuvníkom kvality, porovnaj veľkosti pred a po a spracuj fotografie hromadne bez ich nahrávania na server.
- Formátovanie a minifikácia CSS Skrášli neprehľadné CSS čistým odsadením alebo ho minifikuj pomocou csso a zobraz veľkosť pred a po. Beží v prehliadači, nič sa nenahráva na server.