SVG vs PNG: kiedy używać grafiki wektorowej, a kiedy rastrowej
SVG i PNG rozwiązują zupełnie różne problemy. SVG przechowuje obrazy jako matematyczne kształty, które skalują się w nieskończoność bez utraty jakości. PNG przechowuje obrazy jako siatkę kolorowych pikseli. Wybranie złego formatu kosztuje Cię wydajność albo jakość wizualną.
Co sprawia, że SVG i PNG są fundamentalnie różne
Różnica między SVG a PNG odzwierciedla szersze rozróżnienie między grafiką wektorową a rastrową.
SVG (Scalable Vector Graphics) to format oparty na XML, który opisuje obrazy za pomocą matematycznych definicji kształtów, linii, krzywych i kolorów. Kiedy powiększasz SVG, przeglądarka przelicza i przerysowuje każdy kształt w nowym rozmiarze. Wynik jest zawsze ostry — niezależnie od tego, czy wyświetlasz go jako faviconę o wymiarach 16 px, czy billboard o wymiarach 16 000 px.
PNG (Portable Network Graphics) to format rastrowy przechowujący obrazy jako siatkę pikseli, z których każdy ma określoną wartość koloru. Obraz ma stałą rozdzielczość. Powiększysz go ponad natywne wymiary — stanie się rozmazany i pikselowaty. Zmniejszysz — pobierasz więcej danych niż to konieczne.
To rozróżnienie determinuje wszystko: rozmiar pliku, skalowalność, przebieg edycji i typy obrazów, z którymi każdy format radzi sobie dobrze.
Kiedy SVG jest lepszym wyborem
SVG doskonale sprawdza się w przypadku każdej grafiki, która pierwotnie powstała jako praca wektorowa. Używaj SVG do:
- Logotypów — logotyp musi wyglądać ostro w każdym rozmiarze, od 32-pikselowej ikony karty przeglądarki po pełnoszerokościowy baner. SVG obsługuje to jednym plikiem. W PNG potrzebowałbyś wielu rozdzielczości.
- Ikon — ikony interfejsu, nawigacji, mediów społecznościowych. Praktyczny przykład: sklep internetowy z 50 ikonami kategorii o łącznej wadze 1,2 MB jako PNG zmniejszył je do zaledwie 95 KB po przejściu na SVG.
- Ilustracji i diagramów — diagramy techniczne, schematy, mapy i infografiki z czystymi liniami i płaskimi kolorami. SVG utrzymuje tekst zaznaczalny i wyszukiwalny.
- Animacji — elementy SVG można animować za pomocą CSS lub JavaScriptu, co umożliwia lekkie spinnery ładowania, mikrointerakcje i interaktywne wykresy bez plików wideo.
- Favikon — nowoczesne przeglądarki obsługują favicony SVG, które wyglądają ostro na każdej gęstości ekranu. Możesz wygenerować favicony z dowolnego obrazu za pomocą naszego Generatora favicon.
Według W3Techs 65,5% wszystkich stron internetowych używa teraz SVG, co czyni go trzecim najpopularniejszym formatem obrazu po PNG i JPEG. Jego adopcja rosła o około 8% rocznie, napędzana potrzebami responsywnego projektowania i korzyściami wydajnościowymi.
Kiedy PNG jest lepszym wyborem
PNG to właściwy wybór, gdy liczy się szczegółowość na poziomie pikseli lub gdy zawartość obrazu jest z natury rastrowa:
- Zdjęcia z przezroczystością — wycinki produktów na przezroczystych tłach, warstwowe kompozycje. PNG obsługuje pełną przezroczystość alfa, zachowując szczegóły fotograficzne. (Dla zdjęć bez przezroczystości JPEG jest zwykle lepszy.)
- Zrzuty ekranu — przechwycenia ekranu zawierają elementy UI z dokładnością pikselową, wygładzony tekst i subtelne gradienty, które są z natury rastrowe. PNG zachowuje je dokładnie.
- Złożone grafiki z wieloma kolorami — szczegółowe obrazy cyfrowe, tekstury i fotorealistyczne ilustracje, które nie upraszczają się do czystych kształtów wektorowych.
- Grafiki rastrowe z nakładkami tekstu — gdy potrzebujesz pikselowo-dokładnego renderowania połączonych zdjęć i treści tekstowych, PNG zapewnia brak artefaktów kompresji wokół krawędzi tekstu.
Rozmiar pliku i wydajność
Dla typów grafik, z którymi SVG radzi sobie dobrze (ikony, logotypy, proste ilustracje), oszczędności rozmiaru pliku są dramatyczne:
| Typ grafiki | Rozmiar PNG | Rozmiar SVG | Oszczędność |
|---|---|---|---|
| Prosta ikona (64x64) | ~25 KB | ~2 KB | 92% |
| Logo (500x200) | ~45 KB | ~8 KB | 82% |
| 50 ikon kategorii | ~1,2 MB łącznie | ~95 KB łącznie | 92% |
| Prosta ilustracja | ~150 KB | ~20 KB | 87% |
Pliki SVG kompresują się również wyjątkowo dobrze za pomocą Gzip lub Brotli (standardowo na większości serwerów), często kurcząc się o dodatkowe 50-70% podczas transferu. SVG o wadze 20 KB może być przesyłany jako zaledwie 6-8 KB.
Korzyści wydajnościowe wychodzą poza rozmiar pliku. SVG można osadzać bezpośrednio w HTML, eliminując żądanie HTTP. Renderują się w natywnej rozdzielczości urządzenia bez potrzeby atrybutu srcset. A ponieważ są oparte na tekście, są przyjazne dla cache'owania i kontroli wersji.
Dla złożonych obrazów — zdjęć, szczegółowych tekstur, obrazów z tysiącami unikalnych kolorów — SVG nie oferuje żadnych korzyści. Zdjęcie „przekonwertowane" do SVG albo osadza dane rastrowe jako base64 (co robi go większym), albo trasuje obraz w uproszczone kształty (tracąc szczegóły). Dla takich obrazów PNG, JPEG lub nowsze formaty jak WebP i AVIF to odpowiednie narzędzia.
SVG vs PNG: szybkie porównanie
| Cecha | SVG | PNG |
|---|---|---|
| Typ obrazu | Wektorowy (kształty i ścieżki) | Rastrowy (siatka pikseli) |
| Skalowalność | Nieskończona (zawsze ostry) | Stała rozdzielczość (rozmazuje się przy powiększaniu) |
| Przezroczystość | Tak | Tak (kanał alfa) |
| Najlepszy do zdjęć | Nie | Tak (z przezroczystością) |
| Najlepszy do ikon/logotypów | Tak | Akceptowalny, ale większe pliki |
| Animacja | Tak (CSS/JS) | Nie (APNG ma ograniczoną obsługę) |
| Edytowalny kodem | Tak (oparty na XML) | Nie |
| SEO (tekst indeksowany) | Tak | Nie |
| Obsługa przeglądarek | Wszystkie nowoczesne | Wszystkie przeglądarki |
| Typowy rozmiar (ikona) | 1-5 KB | 10-50 KB |
Praktyczny scenariusz
Wyobraź sobie, że przeprojektowujesz firmową stronę. Marka ma logotyp, zestaw 30 ikon nawigacyjnych i funkcyjnych, zdjęcie główne (hero) i kilka zrzutów ekranu produktu. Oto jak przypisałbyś formaty:
- Logotyp → SVG. Pojawia się w nagłówku (mały), stopce (średni) i na stronie „O nas" (duży). Jeden plik SVG obsługuje wszystkie trzy rozmiary, jest ostry na wyświetlaczach retina i waży około 5 KB.
- 30 ikon → SVG sprite. Wszystkie 30 ikon w jednym pliku, około 40-60 KB łącznie. To mniej niż dwie czy trzy ikony PNG. CSS kontroluje ich kolor i rozmiar.
- Zdjęcie główne (hero) → Nie SVG, nie PNG. Używaj JPEG lub WebP dla najmniejszego pliku przy akceptowalnej jakości. Zobacz nasz poradnik optymalizacji obrazów, żeby poznać najlepsze praktyki.
- Zrzuty ekranu produktu → PNG. Zrzuty ekranu zawierają tekst interfejsu i precyzyjne renderowanie pikselowe, które wymagają bezstratnego zachowania.
Jak konwertować między SVG a PNG
Możesz konwertować między tymi formatami bezpośrednio w przeglądarce — bez przesyłania na serwer, bez instalowania oprogramowania. Vizua przetwarza każdy plik lokalnie na Twoim urządzeniu:
- SVG na PNG — rasteryzuj pliki SVG w dowolnej potrzebnej rozdzielczości
- Wektoryzuj obraz — konwertuj obrazy rastrowe (PNG, JPEG) na format wektorowy SVG
- Generator favicon — tworzenie plików favicon z dowolnego obrazu, włącznie z wyjściem SVG dla nowoczesnych przeglądarek
Szersze spojrzenie na wybór odpowiedniego formatu dla każdego obrazu na stronie znajdziesz w naszym poradniku o rozmiarach plików graficznych z zalecanymi wymiarami i formatami według zastosowania.
Najczęściej zadawane pytania
Czy SVG może całkowicie zastąpić PNG?
Nie. SVG świetnie sprawdza się w przypadku grafik, ikon i ilustracji, ale nie jest w stanie efektywnie reprezentować fotografii. Zdjęcie przekonwertowane do SVG byłoby albo ogromne (osadzone jako dane rastrowe base64), albo straciłoby całą szczegółowość fotograficzną (uproszczone do kształtów). Używaj SVG do treści wektorowych, a PNG (lub JPEG/WebP) do zdjęć i złożonej grafiki rastrowej.
Czy pliki SVG są bezpieczne do użytku na stronach internetowych?
Pliki SVG mogą zawierać JavaScript, co oznacza, że złośliwy SVG może teoretycznie uruchomić kod w przeglądarce. Jeśli akceptujesz przesyłanie plików SVG od użytkowników, zawsze je oczyszczaj, usuwając tagi skryptowe i procedury obsługi zdarzeń. W przypadku SVG, które sam tworzysz lub pobierasz od zaufanych projektantów, nie ma praktycznego ryzyka.
Dlaczego niektóre pliki SVG wyglądają rozmazanie?
Same pliki SVG nigdy nie tracą jakości przy skalowaniu, ale mogą wyglądać rozmazanie, jeśli przeglądarka renderuje je w ułamkowym rozmiarze piksela, jeśli SVG używa osadzonych obrazów rastrowych zamiast prawdziwych ścieżek wektorowych, albo jeśli projekt nie został zbudowany w siatce pikselowej. Upewnij się, że SVG używa czystych kształtów wektorowych i wyrównuje kluczowe linie do pełnych współrzędnych pikselowych.
Czy powinienem używać SVG czy czcionek ikon na stronie?
SVG to współczesna najlepsza praktyka. Czcionki ikon były popularne w latach 2010., ale wiążą się z problemami dostępności (czytniki ekranu mogą je nieprawidłowo odczytywać), ograniczeniami stylowania i narzutem ładowania całego pliku czcionki dla kilku ikon. Wbudowane ikony SVG ładują się szybciej, można je indywidualnie stylować za pomocą CSS i są domyślnie dostępne po dodaniu odpowiednich atrybutów ARIA.
Konwertuj swoje obrazy już teraz
Za darmo, prywatnie, wszystko działa w przeglądarce. Bez przesyłania, bez konta.