Datei hochladen
  1. base64hub
  2. Web- & Token-Tools
  3. Base64URL-Decoder

Base64URL-Decoder: URL-sicheres Base64 dekodieren

Fügen Sie eine URL-sichere Base64-Zeichenkette ein, etwa ein Token-Segment oder einen URL-Parameter, und lesen Sie, was darin steckt. Die Zeichen - und _ werden automatisch erkannt, und das fehlende =-Padding wird ergänzt.

Kostenlos ohne Anmeldung, ohne Limits Lokal kein Upload Automatisch Padding wird ergänzt Aktualisiert 27.10.2026
Eingabe 0 BAusgabe 0 BGröße –

Wird in Ihrem Browser verarbeitet. Diese Seite kann Ihre Daten nirgendwohin senden – woher wir das wissen

So dekodieren Sie Base64URL

  1. Fügen Sie die Zeichenkette in Eingabe · Base64 ein. Die Seite öffnet mit einem URL-sicheren Beispiel.
  2. Lesen Sie das Ergebnis in Ausgabe · Text. Die Statuszeile zeigt die Variante (Base64URL oder Standard), die Anzahl dekodierter Bytes und den erkannten Typ. Fehlte das Padding, steht dort „Fehlendes Padding wurde automatisch ergänzt.“
  3. JSON, der übliche Inhalt von Tokens, wird mit JSON formatieren eingerückt.
  4. Bei binärem Inhalt wie Hashes oder zufälligen IDs meldet das Tool Binärdaten und verlinkt einen passenden Decoder.
  5. Mit Ausgabe kopieren oder Herunterladen übernehmen Sie das Ergebnis.

Zum Kodieren nehmen Sie den Base64URL-Encoder. Um einen Base64URL-String ohne Dekodieren in Standard-Base64 umzuwandeln, nutzen Sie Base64URL in Base64.

Beispiele

Base64URLDekodiertHinweis
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9{"alg":"HS256","typ":"JWT"}Ein typischer JWT-Header
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSIsImFkbWluIjp0cnVlfQ{"sub":"1234567890","name":"Ada","admin":true}Eine JWT-Payload; Padding ergänzt
c3ViamVjdHM_X2Qsubjects?_d_ ist das URL-sichere /
8J-Riw👋- ist das URL-sichere +
E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM32 Bytes BinärdatenEin SHA-256-Hash, das PKCE-Beispiel aus RFC 7636

Beim Hash in der letzten Zeile ist eine Textausgabe sinnlos. Öffnen Sie ihn in Base64 in Hex, um die Bytes als 13 d3 1e 96 ... zu sehen.

Padding und warum es sich ergänzen lässt

Base64URL wird meist ohne = geschrieben. Dabei geht keine Information verloren: Eine gültige Zeichenkette hat eine Länge von 4n, 4n + 2 oder 4n + 3 Zeichen, und der Rest sagt dem Decoder, ob in der letzten Gruppe ein oder zwei Bytes stecken. Das Tool ergänzt das fehlende = vor dem Dekodieren und meldet das in der Statuszeile.

Eine Länge von 4n + 1 kann nie vorkommen. Sehen Sie den Fehler „Falsche Länge: ein Zeichen zu viel oder zu wenig“, ging beim Kopieren des Werts ein Zeichen verloren oder kam eines hinzu, etwa an einem Zeilenumbruch in einer E-Mail oder einem Log. Padding erklärt zeigt die Rechnung.

Viele Standard-Decoder sind weniger nachsichtig. atob() im Browser lehnt - und _ mit InvalidCharacterError ab, und Pythons base64.urlsafe_b64decode wirft Incorrect padding, wenn = fehlt.

Tokens, Cookies und URL-Parameter

  • JWT. Ein Token sieht aus wie xxxxx.yyyyy.zzzzz. Die ersten beiden Teile sind Base64URL-JSON, der dritte ist die Signatur, also Binärdaten. Dekodieren Sie die Teile hier einzeln, oder fügen Sie das ganze Token in den JWT-Decoder ein, der auch das Ablaufdatum zeigt und Signaturen prüft. Base64 in JWT erklärt das Format.
  • Cookies und Session-IDs. Manche Session-Cookies von Frameworks, etwa die von Flask, verbinden Base64URL-Daten und eine Signatur mit Punkten. Dekodieren Sie nur den Datenteil.
  • URL-Parameter. OAuth-state, Weiterleitungsziele und Share-Links tragen manchmal Base64URL-JSON. Enthält der Wert %2F oder %2B, wurde er zusätzlich prozentkodiert und muss zuerst URL-dekodiert werden.

Mischt eine Zeichenkette - oder _ mit + oder /, bricht der Decoder mit „Die Eingabe mischt Standard- (+ /) und URL-sichere (- _) Zeichen“ ab. Meist wurden dann zwei Werte zusammengefügt oder einer nur teilweise umgewandelt.

Base64URL im Code dekodieren

// Node.js
Buffer.from("c3ViamVjdHM_X2Q", "base64url").toString("utf8");   // "subjects?_d"

// Browsers with Uint8Array.fromBase64
new TextDecoder().decode(Uint8Array.fromBase64("c3ViamVjdHM_X2Q", { alphabet: "base64url" }));
import base64

def b64url_decode(s: str) -> bytes:
    return base64.urlsafe_b64decode(s + "=" * (-len(s) % 4))

b64url_decode("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9")   # b'{"alg":"HS256","typ":"JWT"}'

Die Padding-Zeile funktioniert für jede Eingabelänge, die gültiges Base64 ist. Mehr unter Base64 in Node.js, JavaScript und Python.

Häufige Fragen

Wie dekodiere ich Base64URL?

Fügen Sie es oben ein; eine Einstellung ist nicht nötig. Im Code ersetzen Sie - durch + und _ durch /, hängen = an, bis die Länge ein Vielfaches von 4 ist, und dekodieren wie normales Base64, oder Sie verwenden einen URL-sicheren Decoder wie Buffer.from(s, "base64url") in Node.

Warum erhalte ich einen Fehler zum Zeichen „.“?

Sie haben ein ganzes JWT eingefügt. Seine drei Teile sind durch Punkte getrennt, und jeder Teil muss einzeln dekodiert werden. Fügen Sie einen Teil ein oder nutzen Sie für das ganze Token den JWT-Decoder.

Warum zeigt die Statuszeile Standard für meinen Base64URL-String?

Die Zeichenkette enthält keines der Zeichen -, _, + oder /, ist also in beiden Alphabeten gültig und wird so oder so gleich dekodiert. Viele JWT-Header sehen so aus.

Was, wenn der Wert noch prozentkodiert ist?

Ein kodiertes = (%3D) wird verarbeitet. Andere Escapes wie %2F bedeuten, dass der Wert eine URL-Kodierung durchlaufen hat; schicken Sie ihn zuerst durch den URL-Decoder.