RFC 4648 §5 · base64url
Base64URL dekodieren – samt Padding.
Fügen Sie URL-sicheres Base64 ein – aus einem JWT, einem URL-Parameter, einer WebAuthn-Challenge oder der Gmail-API –, und es wird dekodiert, wobei - und _ zurückübersetzt und das fehlende =-Padding ergänzt wird. Fügen Sie ein ganzes JSON Web Token ein, und Header und Payload erscheinen als Tabelle.
Aktualisiert am · Läuft vollständig in Ihrem Browser
Konverter: Base64URL dekodieren
JSON Web Token
Optionen
Ctrl+Enter dekodieren Ctrl+Shift+C Ergebnis kopieren Datei einfach auf die Eingabe ziehen, um sie zu laden
So dekodieren Sie Base64URL
- 01
base64url-Wert einfügen
Fügen Sie einen URL-sicheren Base64-String oder ein komplettes JWT ein. Die Zeichen - und _ sowie fehlendes Padding werden automatisch behandelt.
- 02
Dekodiertes Ergebnis lesen
Einfache Werte werden in Text oder Bytes dekodiert. Ein JWT wird in Header und Payload aufgeteilt, iat, nbf und exp erscheinen als Datum.
- 03
Kopieren oder weiter dekodieren
Kopieren oder formatieren Sie das JSON – oder klicken Sie auf In die Eingabe übernehmen, wenn die Payload einen weiteren kodierten Wert enthält.
Base64 vs. Base64URL
Standard-Base64 verwendet + und /, die in URLs und Dateinamen eine Bedeutung haben, und
füllt mit = auf, das in einem Query-String prozentkodiert werden muss. Base64URL, definiert in Abschnitt 5
von RFC 4648, tauscht genau diese Zeichen aus, damit der Wert unverändert in einer URL reisen kann:
| Base64 | Base64URL | |
|---|---|---|
| Wert 62 | + | - |
| Wert 63 | / | _ |
| Padding | = erforderlich | meist weggelassen |
| Definiert in | RFC 4648 §4 | RFC 4648 §5 |
Die übrigen 62 Zeichen sind identisch – die Umwandlung ist also ein einfacher Zeichentausch plus Padding.
Fehlendes Padding wiederherstellen
Viele strikte Decoder lehnen Eingaben ohne Padding ab. Die Regel zum Ergänzen hängt nur von der Länge des Strings modulo 4 ab:
- Rest 0 – kein Padding nötig;
- Rest 2 –
==anhängen; - Rest 3 –
=anhängen; - Rest 1 – in gültigem Base64 unmöglich: Der Wert ist abgeschnitten.
Dieser Decoder wendet die Regel für Sie an und meldet einen abgeschnittenen Wert, statt stillschweigend Unsinn zu liefern.
Wo Ihnen base64url begegnet
- JSON Web Tokens – Header, Payload und Signatur sind drei base64url-Segmente, durch Punkte verbunden. Die Signatur wird angezeigt, aber nicht geprüft, denn dafür wäre der Schlüssel nötig.
- WebAuthn und Passkeys – Challenges, Credential-IDs und Client-Daten.
- OAuth PKCE – die
code_challengeist ein base64url-kodierter SHA-256-Digest. - Gmail-API – Nachrichtentexte und Anhänge sind base64url-kodiert.
- Kurze IDs und Tokens in URLs, Cookies und Dateinamen.
base64url im Code dekodieren
# Python: urlsafe_b64decode still needs the padding back
import base64
def b64url_decode(s: str) -> bytes:
return base64.urlsafe_b64decode(s + "=" * (-len(s) % 4))
// Node.js 16+
Buffer.from(token, "base64url").toString("utf8");
// Go
base64.RawURLEncoding.DecodeString(s)
// Java 8+: the URL decoder accepts unpadded input
Base64.getUrlDecoder().decode(s);
Für Standard-Base64 und weitere Sprachen siehe die Hauptseite Base64 dekodieren.
Weitere Decoder
Weitere Wege, Base64 zu dekodieren.
- Base64 dekodieren Beliebiges Base64 in Text, ein Bild oder eine Datei dekodieren – mit über 20 Zeichensätzen.
- Base64 in Bild Ein Base64-PNG, -JPEG, -GIF, -WebP oder -SVG ansehen und als echte Bilddatei speichern.
- Base64 in PDF Einen Base64-String aus einer API oder E-Mail in ein PDF verwandeln, das Sie ansehen und speichern können.
- Base64 in Hex Jedes dekodierte Byte als Hex-Dump sehen oder als durchgehenden Hex-String kopieren.
Fragen
Base64URL dekodieren: häufige Fragen.
Wie dekodiere ich Base64URL?
Ersetzen Sie - durch + und _ durch /, ergänzen Sie =-Padding, bis die Länge ein Vielfaches von vier ist, und dekodieren Sie dann wie normales Base64. Diese Seite erledigt alle drei Schritte automatisch: Wert einfügen, und das Ergebnis erscheint sofort.
Ist Base64URL dasselbe wie URL-Kodierung?
Nein. URL-Kodierung (Prozentkodierung) maskiert einzelne Zeichen als %XX. Base64URL ist eine Base64-Variante, die Bytes in ein URL-sicheres Alphabet übersetzt. Enthält ein Wert %2B oder %3D, ist es prozentkodiertes Base64 – lösen Sie zuerst die Prozentkodierung auf.
Kann ich mit diesem Tool ein JWT dekodieren?
Ja. Fügen Sie das ganze Token ein, und Header und Payload werden aus base64url dekodiert und als Tabelle angezeigt, Zeitstempel als Datum. Die Signatur wird angezeigt, aber nicht geprüft, denn dafür wäre der geheime oder öffentliche Schlüssel nötig.
Warum meldet Python bei base64url „Incorrect padding“?
base64.urlsafe_b64decode erwartet das =-Padding, das base64url meist weglässt. Hängen Sie vor dem Dekodieren "=" * (-len(s) % 4) an den String an, wie im Beispiel auf dieser Seite.