Obraz na Base64 to technika kodowania binarnych danych obrazu jako tekstowego ciągu ASCII. Base64 używa 64 drukowalnych znaków (A-Z, a-z, 0-9, +, /) do reprezentacji danych binarnych, zamienia każde 3 bajty na 4 znaki Base64 i dodaje = jako padding na końcu. Cały proces jest zgodny ze standardem RFC 4648.
**Zasada kodowania**: Base64 dzieli każde 3 bajty (24 bity) na cztery grupy 6-bitowe, z których każda odpowiada znakowi alfabetu Base64. Jeśli liczba bajtów nie dzieli się przez 3, na końcu dodawane są 1-2 znaki = paddingu. Dlatego rozmiar pliku rośnie o około 33% (4/3 ≈ 1.33).
**Optymalizacja Web Worker**: to narzędzie używa Web Workerów do wykonywania kodowania w wątku przeglądarki oddzielonym od wątku głównego. ArrayBuffer.transfer() umożliwia transfer zero-copy do Workera i zapobiega blokowaniu. Nawet przy obrazach o rozmiarze wielu MB UI pozostaje płynne i pokazuje postęp w czasie rzeczywistym.
**Prywatność i bezpieczeństwo**: w przeciwieństwie do narzędzi wymagających uploadu obrazów na serwer, to narzędzie działa całkowicie w przeglądarce. Dane obrazu nie przechodzą przez serwery stron trzecich, co jest szczególnie ważne przy wrażliwych obrazach, np. dokumentach tożsamości lub umowach.
**Zastosowania**: obrazy Base64 są często używane w CSS Sprites (mniej żądań HTTP), szablonach e-mail HTML (omijanie blokowania obrazów przez klientów poczty), transmisji binarnych danych przez API oraz rozszerzeniach przeglądarki lub aplikacjach jednoplikowych, gdy nie można odwoływać się do zasobów zewnętrznych.