CodeKitHub
Polski
Narzędzia kodujące

Darmowy konwerter obrazów do formatu Base64

Wystarczy wgrać dowolny obraz, a otrzymasz zarówno gotowy do użycia adres URL danych, jak i surowy ciąg Base64 — obok siebie. Wklej adres URL danych bezpośrednio do atrybutu `background-image` w CSS lub atrybutu `src` elementu `img` w HTML, albo użyj surowego ciągu Base64, gdy ładunek JSON lub plik konfiguracyjny wymaga bajtów bez prefiksu. Wszystko odbywa się w przeglądarce — obraz nigdy nie jest przesyłany.

Czym jest to narzędzie?

Base64 to sposób na przedstawienie danych binarnych — takich jak surowe bajty obrazu — w postaci zwykłego tekstu, przy użyciu wyłącznie liter, cyfr i kilku symboli. Ponieważ jest to zwykły tekst, obraz zakodowany w Base64 można osadzić bezpośrednio w kodzie HTML, CSS lub JSON, zamiast odwoływać się do niego jako do osobnego pliku.

„Adres URL danych” otacza ten tekst zakodowany w Base64 krótkim prefiksem (data:image/png;base64,), który informuje przeglądarkę o typie pliku, dzięki czemu można go umieścić bezpośrednio w atrybucie src lub url() i wyświetlić bez konieczności wysyłania dodatkowego żądania.

Dlaczego warto go używać?

  • Pobierz oba formaty jednocześnie — pełny adres URL danych dla HTML/CSS oraz surowy kod Base64 (bez przedrostka) do osadzenia w plikach JSON lub plikach konfiguracyjnych.
  • Brak komunikacji z serwerem: eliminuje jedno żądanie HTTP w przypadku małych ikon, awatarów lub obrazów osadzonych w treści.
  • Zachowuje dokładnie oryginalne bajty pliku — bez ponownego kodowania ani utraty jakości, w przeciwieństwie do narzędzi, które dekodują obraz i zapisują go ponownie.
  • Pokazuje różnicę w rozmiarze, dzięki czemu wiesz, co tracisz w zamian za wygodę.
  • Prywatne: plik jest odczytywany lokalnie za pomocą interfejsu API FileReader przeglądarki i nigdy nie opuszcza urządzenia.

Jak używać

  1. Kliknij obszar przeznaczony do przesyłania plików lub przeciągnij plik graficzny na ten obszar.
  2. Skopiuj pełny adres URL danych, jeśli chcesz wkleić go do atrybutu <img src> lub atrybutu background-image w CSS.
  3. Skopiuj surowy kod Base64 (bez przedrostka „data:”), jeśli osadzasz tę wartość w formacie JSON, YAML lub innym formacie konfiguracyjnym, który rozpoznaje ten typ pliku.
  4. Zwróć uwagę na informację o rozmiarze — tekst zakodowany w Base64 zajmuje o około jedną trzecią więcej miejsca niż oryginalny plik binarny.

Przykład

Wejście

A 12 KB PNG icon file.

Wynik

data:image/png;base64,iVBORw0KGgoAAAANSU... (~16 KB of text) plus the same string without the data: prefix.

Wzrost rozmiaru o około 33% wynika z samej natury kodowania Base64 (3 bajty danych binarnych zamieniają się w 4 znaki tekstowe) — nie jest to błąd narzędzia.

Gdzie stosuje się poszczególne formaty

FormatTypowe zastosowanie
Pełny adres URL danychHTML <img src="...">, CSS background-image: url(...), obrazy w wiadomościach e-mail
Surowe dane Base64Dane w interfejsie API JSON, pliki YAML/konfiguracyjne, pola BLOB w bazach danych, niestandardowe protokoły binarne

Base64 a rozmiar obrazu — kompromis w praktyce

Około 33-procentowy narzut oznacza, że osadzanie w formacie Base64 najlepiej stosować w przypadku niewielkich zasobów: ikona o rozmiarze 2 KB zamienia się w nieznacznie większy tekst wbudowany o rozmiarze ~2,7 KB, ale zdjęcie o rozmiarze 500 KB zamienia się w ~665 KB tekstu wbudowanego w kod HTML, co spowalnia parsowanie i uniemożliwia buforowanie tego tekstu oddzielnie od strony.

Jeśli osadzasz wiele obrazów lub obrazy o większym rozmiarze, porównaj korzyść wynikającą z oszczędności jednego żądania z kosztem związanym z większym rozmiarem strony — i rozważ najpierw kompresję.

Koder / dekoder Base64 · Kompresor obrazów

Najczęściej zadawane pytania

Dlaczego ciąg znaków Base64 jest o wiele większy niż mój plik graficzny?

Kodowanie Base64 przekształca każde 3 bajty danych binarnych na 4 znaki tekstowe, co powoduje stały wzrost rozmiaru o około 33%. W przypadku obrazu o rozmiarze 100 KB należy spodziewać się, że tekst w formacie Base64 zajmie około 133 KB. Jest to normalne i nie da się tego uniknąć — to cena, jaką trzeba zapłacić za przedstawienie danych binarnych w postaci bezpiecznego, przenośnego tekstu.

Jaka jest różnica między adresem URL danych a surowym ciągiem znaków Base64?

Adres URL danych zawiera prefiks „data:image/png;base64”, który informuje przeglądarkę lub moduł renderujący, do jakiego typu MIME dekodowany jest następujący po nim tekst. Wklej pełny adres URL danych do atrybutu src w kodzie HTML lub do funkcji url() w CSS. Surowy kod Base64 (wszystko po przecinku) jest tym, czego potrzebujesz, gdy system już osobno rozpoznaje typ pliku — na przykład w polu JSON o postaci { „format”: „png”, „data”: „<surowy kod Base64>” }.

Kiedy warto osadzić obraz w formacie Base64 zamiast umieszczać link do pliku?

Osadzanie w formacie Base64 sprawdza się w przypadku małych, często wykorzystywanych obrazów (ikony, logo, drobne elementy graficzne interfejsu użytkownika), gdzie oszczędność jednego żądania HTTP przeważa nad około 33-procentowym wzrostem rozmiaru, lub w sytuacjach, w których osobny plik nie jest praktycznym rozwiązaniem, np. w wiadomościach e-mail z treścią osadzoną bezpośrednio w tekście lub eksportach HTML do pojedynczego pliku. W przypadku dużych zdjęć lub wszelkich elementów wykorzystywanych na wielu stronach prawie zawsze lepszym rozwiązaniem jest zwykły plik z linkiem, korzystający z pamięci podręcznej przeglądarki.

Czy konwersja do formatu Base64 powoduje zmianę lub kompresję mojego obrazu?

Nie. Base64 to bezstratne kodowanie tekstowe dokładnie tych samych bajtów, co w oryginale — nie ma wpływu na piksele, rozdzielczość ani kompresję. Jeśli chcesz uzyskać mniejszy plik, najpierw skompresuj obraz za pomocą programu do kompresji obrazów, a następnie przekonwertuj skompresowany plik do formatu Base64.

Czy moje zdjęcie zostało gdzieś przesłane?

Nie. Plik jest odczytywany bezpośrednio w przeglądarce za pomocą interfejsu API FileReader i kodowany lokalnie — nigdy nie jest przesyłany przez sieć.

Powiązane narzędzia