Kodowanie i dekodowanie Base64 online

Zamień tekst, bajty szesnastkowe lub pliki na Base64 i zdekoduj Base64 z powrotem do czytelnego tekstu. Narzędzie obsługuje Base64URL, zawijanie wierszy MIME i kilkanaście zestawów znaków, a wszystkie dane są przetwarzane lokalnie w przeglądarce.

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Wybierz u góry narzędzia tryb „Koduj” lub „Dekoduj”.
  2. Wpisz lub wklej tekst albo kliknij „Otwórz plik”, aby zakodować dowolny plik.
  3. W razie potrzeby zmień „Wariant” (standardowy lub bezpieczny dla URL), „Dopełnienie”, „Zawijanie wierszy” lub „Kodowanie tekstu”. Wynik aktualizuje się na bieżąco podczas pisania.
  4. Skopiuj wynik, pobierz go albo kliknij „Zamień wejście z wyjściem”, aby przetworzyć go w przeciwnym kierunku.

Czym jest Base64?

Base64 to kodowanie binarno-tekstowe, które przedstawia dowolny ciąg bajtów za pomocą 64 drukowalnych znaków ASCII: A-Z, a-z, 0-9, + i /, a znak = służy jako dopełnienie. Dzięki temu dane binarne, takie jak obrazy, klucze czy skompresowane pliki, mogą bezpiecznie przechodzić przez systemy zaprojektowane z myślą o tekście, np. pocztę e-mail, JSON, XML, adresy URL i HTML.

Koder odczytuje dane wejściowe po trzy bajty (24 bity) i dzieli je na cztery grupy po 6 bitów. Każda 6-bitowa wartość, od 0 do 63, wskazuje jeden znak alfabetu. Gdy długość danych wejściowych nie jest wielokrotnością trzech, ostatnia grupa zostaje uzupełniona jednym lub dwoma znakami =. W rezultacie wynik w Base64 jest zawsze o około 33% większy od oryginalnych danych.

Base64 to kodowanie, a nie szyfrowanie. Każdy może je zdekodować, dlatego nigdy nie należy używać go do ukrywania haseł ani innych poufnych danych.

Base64 a Base64URL

Standardowy Base64 używa znaków + i /, które mają specjalne znaczenie w adresach URL i nazwach plików. Base64URL, zdefiniowany w sekcji 5 dokumentu RFC 4648, zastępuje je znakami - i _ i zwykle pomija dopełnienie. Korzystają z niego JSON Web Token, OAuth i wszystkie miejsca, w których wartość musi trafić do adresu URL. Dekoder na tej stronie automatycznie akceptuje obie formy.

Standardowy Base64Base64URL
Znaki 62 i 63+ /- _
DopełnienieWymagane =Opcjonalne, zwykle pomijane
Bezpieczny w URL i nazwach plikówNieTak
Typowe zastosowaniaE-mail (MIME), data URI, JSON, klucze PEMJWT, OAuth, parametry URL

Typowe zastosowania Base64

  • Załączniki e-mail. MIME koduje załączniki w Base64 z podziałem na wiersze po 76 znaków. Ten format można odtworzyć za pomocą opcji „Zawijanie wierszy”.
  • Osadzanie obrazów i plików. Data URI pozwalają umieszczać małe obrazy, czcionki lub ikony bezpośrednio w HTML i CSS. Zobacz Obraz na Base64 oraz Base64 na obraz.
  • API i konfiguracja. JSON nie ma typu binarnego, więc interfejsy API przesyłają pliki, podpisy i klucze jako ciągi Base64. W Base64 przechowują swoje wartości również obiekty Secret w Kubernetes.
  • Uwierzytelnianie. Uwierzytelnianie HTTP Basic przesyła username:password w postaci Base64, a JSON Web Token składa się z trzech segmentów Base64URL.
  • Certyfikaty i klucze. Pliki PEM zawierają zakodowane w Base64 dane DER z podziałem na wiersze po 64 znaki.

Base64 w językach programowania

JęzykKodowanieDekodowanie
JavaScript (przeglądarka)btoa(binaryString)atob(base64)
Node.jsBuffer.from(str).toString('base64')Buffer.from(b64, 'base64').toString()
Pythonbase64.b64encode(data)base64.b64decode(data)
PHPbase64_encode($str)base64_decode($b64)
JavaBase64.getEncoder().encodeToString(bytes)Base64.getDecoder().decode(b64)
C#Convert.ToBase64String(bytes)Convert.FromBase64String(b64)
Gobase64.StdEncoding.EncodeToString(b)base64.StdEncoding.DecodeString(s)
Powłoka (shell)base64 file.binbase64 -d file.txt

W przeglądarkach funkcja btoa przyjmuje tylko znaki do U+00FF. Aby zakodować tekst Unicode, trzeba najpierw zamienić go na bajty UTF-8, np. za pomocą TextEncoder, albo skorzystać z tego narzędzia, które domyślnie koduje tekst jako UTF-8.

Więcej niż Base64

Base64.is obsługuje też pozostałe kodowania z rodziny Base-N: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, szesnastkowe (hex) i binarne. Jeśli nie wiadomo, jakiego kodowania używa dany ciąg, warto wypróbować wykrywacz kodowania albo porównać wszystkie kodowania naraz w narzędziu Wszystkie kodowania.

Specyfikacja

AlfabetA-Z a-z 0-9 + /
Rozmiar wyniku4 znaki na 3 bajty (ok. 133%)
Dopełnienie= do wielokrotności 4 znaków
StandardRFC 4648, sekcja 4
Rozróżnia wielkość literTak

Przykłady

Wejście (UTF-8)Wyjście
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Najczęściej zadawane pytania

Czy dane są przesyłane na serwer?

Nie. Kodowanie i dekodowanie odbywa się w całości w przeglądarce za pomocą JavaScriptu. Wprowadzony tekst i pliki nigdy nie opuszczają urządzenia, a po wczytaniu strony narzędzie działa także bez połączenia z internetem.

Dlaczego zdekodowany tekst zawiera dziwne znaki?
Albo dane są binarne (np. obraz lub skompresowany plik), a nie tekstowe, albo zakodowano je przy użyciu innego zestawu znaków. Wybierz inną opcję w polu „Kodowanie tekstu”, ustaw „Wyjście jako” na „Hex” lub użyj narzędzia Base64 na plik, aby pobrać bajty i rozpoznać ich typ.
Co oznaczają znaki równości na końcu?

To dopełnienie. Base64 działa na blokach po cztery znaki, a znak = uzupełnia ostatni blok, gdy długość danych wejściowych nie jest wielokrotnością trzech bajtów. Jeden znak = oznacza, że ostatni blok koduje dwa bajty, a dwa – że koduje jeden bajt.

O ile zwiększa się rozmiar danych po zakodowaniu?

Base64 zamienia każde 3 bajty na 4 znaki, więc wynik jest o około 33% większy od danych wejściowych, a po włączeniu zawijania wierszy dochodzą jeszcze znaki końca wiersza.

Czy Base64 to forma szyfrowania?

Nie. Base64 zmienia jedynie sposób zapisu danych. Nie używa żadnego klucza i każdy może je zdekodować, dlatego do ochrony poufnych informacji należy stosować prawdziwe szyfrowanie, takie jak AES lub TLS.

Wszystkie narzędzia Base64 i do kodowania

Narzędzia do obrazów

Obraz na Base64Dowolny obraz jako data URI, znacznik img, CSS lub Markdown Base64 na obrazDekodowanie Base64 lub data URI do podglądu i pliku graficznego do pobrania PNG na Base64Bezstratny PNG z przezroczystością jako Base64 data:image/png JPG na Base64Zdjęcia JPEG jako Base64 data:image/jpeg z regulacją jakości WebP na Base64Kompaktowe obrazy WebP jako Base64 data:image/webp GIF na Base64Statyczne i animowane GIF-y jako Base64 data:image/gif SVG na Base64Grafika wektorowa SVG jako Base64 data:image/svg+xml BMP na Base64Mapy bitowe BMP jako Base64 z opcjonalną konwersją na PNG ICO na Base64Ikony favicon i pliki .ico jako data URI w Base64 AVIF na Base64Obrazy AVIF z kompresją AV1 jako Base64 data:image/avif TIFF na Base64Skany TIFF i obrazy do druku jako tekst Base64 Base64 na PNGZapis ciągów Base64 lub data:image/png jako plików PNG z zachowaniem przezroczystości Base64 na JPGDekodowanie Base64 do zdjęcia .jpg z suwakiem jakości przy konwersji Base64 na WebPDekodowanie WebP z Base64 lub konwersja obrazów Base64 na mniejsze pliki WebP Base64 na GIFZapis GIF-ów z Base64 z zachowaniem animacji lub konwersja obrazów na GIF Base64 na SVGDekodowanie ikon i grafik SVG z Base64 z powrotem do plików .svg Base64 na BMPDekodowanie Base64 do .bmp lub konwersja obrazów na 32-bitowe bitmapy Base64 na ICODekodowanie ikon z Base64 lub zamiana obrazów Base64 na pliki favicon.ico Base64 na AVIFDekodowanie obrazów AVIF z Base64 lub konwersja na AVIF, jeśli jest obsługiwana Base64 na TIFFZapis skanów z Base64 jako TIFF lub konwersja obrazów na nieskompresowany TIFF