CodeKitHub
Polski
Narzędzia kodujące

Koder/dekoder Base64 online

Konwertuj tekst na Base64 lub dekoduj ciąg Base64 z powrotem na czytelny tekst. To narzędzie obsługuje kodowanie UTF-8, dzięki czemu poprawnie radzi sobie z emoji, chińskimi znakami i innymi znakami spoza zestawu ASCII, które powodują błędy w prostych narzędziach do obsługi Base64. Wszystko działa lokalnie w przeglądarce.

Czym jest to narzędzie?

Base64 to schemat kodowania, który przekształca dane binarne lub tekstowe w zestaw 64 bezpiecznych znaków ASCII (A–Z, a–z, 0–9, + i /). Jest on powszechnie stosowany w oprogramowaniu: do osadzania obrazów w kodzie HTML/CSS, w nagłówkach uwierzytelniania HTTP Basic, w załącznikach do wiadomości e-mail (MIME), w tokenach JSON Web Tokens oraz w danych przesyłanych przez interfejsy API, które muszą przetrwać przesyłanie przez kanały obsługujące wyłącznie tekst.

Ważne: Base64 to kodowanie, a nie szyfrowanie. Każdy może je odkodować. Jego celem jest zapewnienie bezpieczeństwa danych podczas przesyłania przez systemy, które rozumieją wyłącznie tekst — a nie zachowanie ich w tajemnicy.

Dlaczego warto go używać?

  • Odkoduj tokeny API, segmenty JWT i nagłówki uwierzytelniające, aby sprawdzić, co zawierają.
  • Koduj tekst na potrzeby adresów URI danych, plików konfiguracyjnych lub nagłówków HTTP.
  • Zgodność z UTF-8: emoji i znaki spoza alfabetu łacińskiego są poprawnie kodowane i dekodowane.
  • W 100% prywatne — konwersja odbywa się w przeglądarce, nic nie jest przesyłane.
  • Bezpłatnie, bez konieczności logowania, bez ograniczeń rozmiaru.

Jak używać

  1. Wpisz lub wklej treść w polu wprowadzania danych.
  2. Kliknij „Koduj”, aby przekonwertować tekst na Base64, lub „Dekoduj”, aby przekonwertować Base64 z powrotem na tekst.
  3. Jeśli dekodowanie nie powiedzie się, oznacza to, że dane wejściowe nie są poprawnym kodowaniem Base64 — sprawdź, czy nie brakuje znaków lub czy nie ma zbędnych spacji.
  4. Kliknij „Kopiuj”, aby skopiować wynik.

Przykład

Wejście

Hello, CodeKitHub! 你好 👋

Wynik

SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GL

Zwróć uwagę, jak chińskie znaki i emoji zachowują się podczas przesyłania tam i z powrotem — to właśnie ta część, która jest zgodna ze standardem UTF-8.

Praktyczne wskazówki

  • Tokeny JWT składają się z trzech segmentów zakodowanych w Base64, połączonych kropkami — aby je odczytać, należy osobno zdekodować pierwsze dwa (nagłówek i ładunek); trzeci segment to podpis binarny i będzie wyglądał jak szum.
  • Jeśli dekodowanie segmentu JWT nie powiedzie się, oznacza to, że jest to kodowanie base64url: najpierw należy zastąpić znak - znakiem +, a znak _ znakiem / (standardowe narzędzia oczekują alfabetu +/).
  • Spacje i znaki końca linii w ciągu znaków Base64 to zazwyczaj nieszkodliwe pozostałości po wiadomościach e-mail lub logach, ale brak końcowego znaku wyrównania „=” często już taki nie jest — przed uznaniem danych za uszkodzone sprawdź ich długość.
  • Kodowanie Base64 powoduje wzrost rozmiaru danych o około 33%. W przypadku niewielkich danych jest to dopuszczalne; jednak w przypadku obrazów większych niż kilka KB prawdziwy plik jest prawie zawsze lepszym wyborem niż URI danych.

Rzeczywiste scenariusze zastosowań

Trzy sytuacje, z którymi ludzie mają do czynienia na co dzień: odczytywanie zawartości nagłówka „Authorization” lub tokenu JWT, dekodowanie pola ładunku webhooka lub API przesłanego w formacie Base64 (często jest to JSON — po dekodowaniu należy nadać mu odpowiedni format) oraz ręczne generowanie adresu URI danych lub ciągu znaków uwierzytelniania Basic-Auth podczas debugowania.

W przypadku danych binarnych (obrazów, plików) należy pamiętać, że po dekodowaniu jako tekst otrzymamy „mojibake” — dane mogą być całkowicie poprawne, po prostu nie są tekstem. Kodowanie i dekodowanie danych binarnych należy przeprowadzać w kodzie; to narzędzie jest zoptymalizowane pod kątem tekstu.

Jak zdiagnozować błąd dekodowania

Błędy dekodowania Base64 prawie zawsze wynikają z jednej z trzech przyczyn, w kolejności według częstotliwości występowania: dane wejściowe były w rzeczywistości w formacie base64url (używającym znaków - i _ zamiast standardowych + i /, co jest powszechne w tokenach JWT i kontekstach bezpiecznych dla adresów URL) i wymagają przywrócenia tych znaków do standardowej postaci, zanim standardowe dekodowanie będzie mogło je zaakceptować; ciąg znaków został gdzieś po drodze obcięty (kopiowanie i wklejanie, przy którym pominięto kilka ostatnich znaków, lub wiersz dziennika, który został ucięty), co można wykryć, ponieważ długość prawidłowego ciągu Base64 jest zawsze wielokrotnością 4 po uwzględnieniu wypełnienia; lub podczas kopiowania pojawiły się zbędne znaki (dodatkowe spacje, zbędny znak nowej linii, przypadkowo zduplikowany znak), dlatego zawsze bezpieczniej jest wklejać bezpośrednio z surowego źródła, zamiast przepisywać tekst ręcznie.

Formatator JSON · Koder / Dekoder URL · Dekoder JWT

Najczęściej zadawane pytania

Czy Base64 to szyfrowanie?

Nie. Base64 to kodowanie odwracalne, które każdy może zdekodować — nie zapewnia ono żadnego bezpieczeństwa. Jeśli chcesz zabezpieczyć dane, użyj prawdziwego szyfrowania (np. AES); Base64 służy wyłącznie do zapewnienia bezpieczeństwa danych podczas przesyłania ich w postaci tekstowej.

Dlaczego moje zdekodowane dane wyjściowe wyglądają jak bezsensowny ciąg znaków?

Albo dane wejściowe nie są w rzeczywistości zakodowane w Base64, albo zostały skrócone, albo też oryginalne dane miały postać binarną (np. obraz), a nie tekstową. Dane binarne nie wyświetlają się jako czytelne znaki.

Co oznaczają znaki „=” na końcu?

Wypełnienie. Kodowanie Base64 działa w blokach po 3 bajty danych wejściowych → 4 znaki wyjściowe. Gdy długość danych wejściowych nie jest podzielna przez 3, ostatni blok jest wypełniany jednym lub dwoma znakami =.

Czy to narzędzie obsługuje emoji i chińskie znaki?

Tak. Najpierw koduje tekst jako bajty w formacie UTF-8, co jest standardowym podejściem. Proste narzędzia, które bezpośrednio korzystają z funkcji btoa(), nie radzą sobie z żadnym znakiem spoza zestawu Latin-1 — to narzędzie natomiast sobie z tym radzi.

Czy moje dane są gdzieś przesyłane?

Nie. Kodowanie i dekodowanie odbywa się w całości w przeglądarce za pomocą JavaScript. Twoje dane nigdy nie opuszczają Twojego urządzenia.

Powiązane narzędzia