Base64url-Encoder und -Decoder
„hello world“ wird in Base64url zu aGVsbG8gd29ybGQ. Das URL-sichere Base64 aus RFC 4648, Abschnitt 5, nutzt Minus und Unterstrich statt Plus und Schrägstrich und verzichtet auf Gleichheitszeichen, damit Tokens unverändert durch Links reisen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Text
- hello world
- Berechnungsmodus
- Encode
- Ergebnis
- aGVsbG8gd29ybGQ
- Kodierung
- base64url
- Eingabe-Bytes
- 11
- Ausgabe-Bytes
- 15
Dieser Base64url-Encoder wandelt Klartext in URL-sicheres Base64 um und dekodiert Base64url-Zeichenketten zurück in UTF-8-Text, mit dem Alphabet aus RFC 4648 Abschnitt 5. Wählen Sie encode, um eine Nachricht, einen Claim-Satz oder eine Konfigurationszeichenkette in eine kompakte Base64url-Nutzlast umzuwandeln, oder wählen Sie decode, um den ursprünglichen Text aus einem bereits vorhandenen URL-sicheren Token wiederherzustellen. Die Engine ist vollständig deterministisch: Dieselbe Eingabe und derselbe Modus liefern immer dasselbe Ergebnis, ohne Netzwerkaufrufe, ohne zufällige Salts und ohne datumsabhängige Abkürzungen. Übliche Kontrollwerte umfassen die Kodierung von hello world zu aGVsbG8gd29ybGQ und die Dekodierung dieser Zeichenkette zurück in den ursprünglichen Satz.
Was Base64url ist und was dieses Werkzeug liefert
Base64url ist die URL-sichere Schwester des klassischen Base64, definiert in RFC 4648 Abschnitt 5. Beide Schemata bilden je drei Eingabebytes auf vier sechs-Bit-Symbole aus einem vierundsechzig Zeichen umfassenden Alphabet ab, aber Base64url ersetzt die Plus- und Schrägstrichsymbole durch Minus und Unterstrich und lässt die Gleichheitszeichen-Auffüllung weg, die Standard-Base64 anhängt, wenn die Byte-Länge kein Vielfaches von drei ist. Diese kleine Alphabetänderung ist der Grund, warum Identitäts-Tokens, OAuth-State-Parameter, signierte Cookie-Fragmente und Inhalts-Hashes sauber innerhalb von URLs und HTML-Attributen reisen, ohne Prozent-Kodierung.
Diese Seite verwendet immer dieses ungepolsterte, URL-sichere Alphabet: Der Kodiermodus wandelt Ihren Text mit UTF-8 um, packt die Bytes und liefert nur A bis Z, a bis z, null bis neun, Minus und Unterstrich; der Dekodiermodus kehrt den Vorgang um und weist Standard-Base64-Zeichen, Leerraum und unvollständige letzte Quanten zurück. Wenn Sie gepolstertes Standard-Base64 mit Plus und Schrägstrich benötigen, nutzen Sie einen dedizierten Standard-Base64-Endpunkt; diese Landingpage ist nur für den URL-sicheren, ungepolsterten Vertrag, den JWT und viele moderne APIs bereits erwarten.
Wie Text und Modus gelesen werden und wie Ergebnisse reproduzierbar bleiben
Mode ist standardmäßig encode und akzeptiert decode explizit; die Aliase op, direction und action bilden auf denselben Schalter ab, für Skripte, die diese Namen bereits verwenden. Encode akzeptiert jede Unicode-Zeichenkette, wandelt sie mit dem plattformeigenen TextEncoder in UTF-8-Bytes um und gibt dann Base64url ohne Auffüllung aus.
Decode verlangt eine reine Base64url-Zeichenkette: Eine Länge modulo vier gleich eins wird zurückgewiesen, da sie keine ganze Anzahl von Bytes darstellen kann, und jedes Zeichen außerhalb des URL-sicheren Alphabets scheitert mit einer klaren Meldung, die auf Plus, Schrägstrich oder Gleichheitszeichen hinweist, wenn diese Standard-Base64-Symbole auftauchen. Nachdem die Bytes wiederhergestellt sind, stellt eine fatale UTF-8-Dekodierung sicher, dass binärer Datenmüll nicht zu unlesbarem Mojibake-Text wird.
Wo Base64url in Links und Tokens vorkommt
Entwickler begegnen Base64url, wenn sie JWT-Segmente untersuchen, OAuth-State- und Nonce-Werte erstellen, kleine binär-sichere Claims in Query-Parametern einbetten oder undurchsichtige Kennungen in reinen Textkonfigurationsdateien speichern. Frontend-Teams dekodieren URL-sichere Tokens bei der Integrationsfehlersuche, ohne Daten in Ad-hoc-Skripte einzufügen, die versehentlich Plus und Schrägstrich wieder einführen. Backend-Dienste kodieren Konfigurationsschnipsel oder kurze binäre Prüfsummen, bevor sie diese in Weiterleitungs-URLs einfügen, wo Standard-Base64 brechen würde.
Qualitätsingenieure erzeugen deterministische Kodier- und Dekodierpaare für Vertragstests, damit eine Middleware, die Base64url-Unterstützung behauptet, nicht stillschweigend Alphabete wechseln kann. Lehrkräfte nutzen dasselbe Werkzeug beim Unterrichten des Unterschieds zwischen MIME-Base64 und der URL-sicheren Variante, auf die moderne Auth-Stacks standardisieren. Kombinieren Sie es mit JWT- oder Hash-Helfern, wenn Sie verwandte Kryptografie-Schritte benötigen, und mit weiteren Kodierungs-Endpunkten, wenn Sie ein kleines Labor freier, deterministischer Textwerkzeuge aufbauen.
Anwendungsfälle
JWT- und OAuth-Token-Übung
URL-sichere Segmente kodieren oder dekodieren, wie sie in JWTs, OAuth-State- und Nonce-Werten verwendet werden, ohne Standard-Base64-Auffüllung oder +/-Zeichen.
Query-String-sichere Nutzlasten
Kurzen Text in Base64url umwandeln, damit er Query-Parameter und Pfadsegmente ohne Überraschungen durch Prozent-Kodierung übersteht.
Häufige Fragen
Was kostet der Base64url-Encoder?
Auf dieser Seite ist er im Browser gratis.
Wie unterscheidet sich Base64url von Standard-Base64?
Base64url nutzt - und _ statt + und /, und dieses Werkzeug gibt niemals = zur Auffüllung aus oder akzeptiert sie. Standard-Base64 mit + / = wird beim Dekodieren zurückgewiesen.
Was passiert, wenn ich Standard-Base64 mit + oder = einfüge?
Ersetzen Sie + durch -, / durch _, entfernen Sie die Auffüllung, oder nutzen Sie stattdessen ein Standard-Base64-Werkzeug.
Ist das Ergebnis deterministisch?
Ja. Derselbe Text und Modus liefern immer dasselbe Ergebnis, ohne Netzwerk, Zufall oder datumsabhängiges Verhalten.
Warum endet mein Base64url-Ergebnis ohne Gleichheitszeichen?
Weil Base64url die Auffüllung weglässt, die Standard-Base64 anhängt. Aus „hello world“ wird aGVsbG8gd29ybGQ ohne Zusatz. Beim Dekodieren wird eine Länge abgelehnt, bei der in einer Vierergruppe genau ein Zeichen übrig bleibt, weil daraus keine ganzen Bytes entstehen.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/enc/base64url \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world"}'const res = await fetch("https://api.kit.forhosting.com/enc/base64url", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base64url",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base64url", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base64url", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"text": "hello world"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64url",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Anders als das klassische Base64 enthält die Ausgabe niemals Plus- oder Schrägstrichzeichen und endet niemals mit Gleichheitszeichen-Auffüllung, sodass Tokens Query-Strings, Pfadsegmente und JSON ohne zusätzliches Escaping überstehen.
Was Base64url ist und was dieses Werkzeug liefert
Die JSON-Antwort enthält result für die umgewandelte Zeichenkette, mode als Echo von encode oder decode, encoding fest auf base64url, sowie input_bytes und output_bytes, damit Sie Größen in Tests prüfen können. Es gibt keinen Streaming-Pfad und keinen stillschweigenden Rückfall auf das klassische Alphabet: Entweder ist die Zeichenkette gültiger Base64url-Text, oder die Anfrage scheitert mit invalid_input.
Wie Text und Modus gelesen werden und wie Ergebnisse reproduzierbar bleiben
Das bevorzugte Nutzlastfeld ist text, mit den Aliasen input, value und s, damit Formulare, Query-Strings und SDK-Clients denselben Vertrag wiederverwenden können, ohne Spalten umzubenennen. Kombinieren Sie den kostenlosen Browser-Lauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie das identische mathematische Ergebnis innerhalb einer automatisierten Pipeline benötigen, ohne Base64url-Tabellen selbst neu zu implementieren. Ungültige Eingaben liefern invalid_input und werden nicht berechnet, was Validierung günstig hält, während erfolgreiche Umwandlungen einen festen Stückpreis behalten.
Wo Base64url in Tokens, APIs und Test-Fixtures passt
Auf dieser Seite läuft die Berechnung vollständig in Ihrem Browser; über die API kostet jede erfolgreiche Abfrage $0.002, fehlgeschlagene Validierung wird nicht berechnet, und nach der Antwort wird nichts gespeichert. Diese Aufteilung — freie interaktive Erkundung und eine kostenpflichtige, identische API — entspricht dem Rest des KIT-Tier-A-Katalogs und erlaubt es Ihnen, von einer Unterrichtsdemo zu einer automatisierten Pipeline zu wechseln, ohne das kodierte Ergebnis zu ändern.
Integrationsbeispiele
Deterministische CI-Fixtures
Reproduzierbare Base64url-Zeichenketten für Unit-Tests, Golden-Dateien und Vertragsprüfungen über Dienste hinweg erzeugen.
Technische Fragen
Welche Modi werden unterstützt?
mode=encode (Standard) wandelt Klartext in Base64url um. mode=decode wandelt eine Base64url-Zeichenkette zurück in UTF-8-Text um.