Base64-Encoder / Decoder (UTF-8 und URL-sicher)
Gib beliebigen Text ein oder füge einen Base64-String ein, um ihn in beide Richtungen umzuwandeln. Unterstützt UTF-8 (einschließlich Emoji und CJK) und die URL-sichere Variante, die in JWT und OAuth verwendet wird.
Wie es funktioniert
Was Base64 ist und was nicht
Base64 kodiert beliebige Bytes unter Verwendung eines 64-Zeichen-Alphabets (A-Z, a-z, 0–9, +, /, mit =-Padding). Es ist der Standard zum Einbetten von Binärdaten – Bild-Bytes, verschlüsselte Blobs, signierte Tokens – in reine Textformate wie JSON, HTML oder E-Mail-Header. Die Ausgabe ist etwa 33 % größer als die Eingabe.
Base64 ist Kodierung, keine Verschlüsselung. Jeder kann einen Base64-String wieder in die ursprünglichen Bytes dekodieren. Verwende es nicht zum Verbergen von Geheimnissen – nutze einen echten Verschlüsselungsalgorithmus, wenn Vertraulichkeit erforderlich ist.
URL-sicher vs. Standard
Standard-Base64 enthält '+' und '/', die in URLs besondere Bedeutungen haben und prozentkodiert werden müssen. URL-sicheres Base64 (RFC 4648 §5) ersetzt '+' durch '-', '/' durch '_' und lässt das abschließende '='-Padding weg. JWTs, OAuth-Tokens und viele Web-APIs verwenden die URL-sichere Form.
Wenn du ein JWT oder Token manuell dekodierst, schalte URL-sicher EIN. Wenn du mit klassischen E-Mails oder in PDFs eingebetteten Daten arbeitest, lass es aus. Der Decoder akzeptiert bei aktiviertem URL-sicheren Modus beide Formen, da das Standardalphabet eine Obermenge minus des besonderen Paares ist.
UTF-8-Verarbeitung
Das alte btoa() im Browser kann nur ASCII verarbeiten. Dieses Tool verwendet TextEncoder, um die Eingabe zuerst in UTF-8-Bytes umzuwandeln und dann diese Bytes Base64-zu kodieren. Das bedeutet, dass Emoji, CJK-Zeichen, akzentuierte lateinische Zeichen und jedes andere Unicode korrekt kodiert werden und Hin-/Rückkonvertierungen korrekt funktionieren. Der Bytes-dann-Base64-Ansatz ist derselbe, der von JWT-Bibliotheken und den meisten modernen Frameworks verwendet wird.
Häufige Fragen
›Ist Base64 eine Verschlüsselung?
Nein. Es ist eine Methode, Binärdaten als ASCII-Text zu kodieren. Jeder kann es dekodieren. Verwende echte Verschlüsselung (AES, RSA usw.) für Vertraulichkeit.
›Warum unterscheidet sich URL-sicher?
Standard-Base64 verwendet '+' und '/', die in URLs besondere Bedeutungen haben und prozentkodiert werden müssen. URL-sicheres Base64 ersetzt sie durch '-' und '_', um das zu vermeiden.
›Kann ich die JWT-Signatur dekodieren?
Das Dekodieren der Signatur liefert die rohen Bytes der Signatur, die aber zur Überprüfung gedacht sind und nicht für die menschliche Lesbarkeit. Dekodiere den Header und die Nutzlast des JWT (die ersten beiden Segmente), um die Daten einzusehen.
›Funktioniert das für Binärdateien?
Nicht direkt – nur Text einfügen. Für Dateien verwende ein binärbewusstes Tool. (Die meisten Browser haben ein eingebautes atob/btoa-Paar, das du in den DevTools für kleine Dateien verwenden kannst.)
›Warum ist mein dekodierter Text unleserlich?
Entweder war die Eingabe kein gültiges Base64, oder es hat Nicht-UTF-8-Bytes kodiert (z. B. eine Latin-1-Datei). Überprüfe die ursprüngliche Kodierung. Tools, die 'als Text' dekodieren, setzen UTF-8 voraus.
›Werden die Daten irgendwohin gesendet?
Nein. Kodierung und Dekodierung laufen vollständig in deinem Browser.
›Wie groß ist der Overhead?
Etwa 33 % größer als die Quell-Bytes (alle 3 Eingabe-Bytes werden zu 4 Ausgabezeichen). URL-sicheres Format ohne Padding hat denselben Overhead.
›Warum ist Padding wichtig?
Standard-Base64 füllt das Ende mit '=', sodass die Länge ein Vielfaches von 4 ist. URL-sichere Versionen lassen dies oft weg, da es für die Dekodierung nicht benötigt wird.
Verwandte Tools
Zuletzt aktualisiert: