Codificatore e decodificatore Base64url
«hello world» diventa aGVsbG8gd29ybGQ in Base64url, il Base64 sicuro per gli URL della sezione 5 dell'RFC 4648, che usa trattino e trattino basso al posto di più e barra ed elimina il riempimento con segni di uguale, così i token viaggiano intatti nei link. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- hello world
- Modalità di calcolo
- Encode
- Risultato
- aGVsbG8gd29ybGQ
- Codifica
- base64url
- Byte input
- 11
- Byte output
- 15
Questo codificatore Base64url converte testo semplice in Base64 sicuro per URL e decodifica stringhe Base64url di nuovo in testo UTF-8 usando l'alfabeto della sezione 5 dell'RFC 4648. Il motore è completamente deterministico: lo stesso input e la stessa modalità producono sempre lo stesso risultato, senza chiamate di rete, sale casuale o scorciatoie legate alla data. Controlli comuni includono la codifica di hello world in aGVsbG8gd29ybGQ e la decodifica di quella stringa di nuovo nella frase originale.
Cos'è Base64url e cosa restituisce questo strumento
Base64url è la variante sicura per URL del Base64 classico definita nella sezione 5 dell'RFC 4648. Entrambi gli schemi mappano ogni tre byte di input in quattro simboli a sei bit tratti da un alfabeto di sessantaquattro caratteri, ma Base64url sostituisce i simboli più e barra con meno e underscore e omette il padding uguale che il Base64 standard aggiunge quando la lunghezza in byte non è un multiplo di tre.
Questo piccolo cambiamento di alfabeto è il motivo per cui token di identità, parametri di stato OAuth, frammenti di cookie firmati e hash di contenuto viaggiano puliti dentro URL e attributi HTML senza percent-encoding. Questa pagina usa sempre quell'alfabeto sicuro per URL senza padding: la modalità encode codifica il vostro testo in UTF-8, impacchetta i byte, e restituisce solo A-Z, a-z, zero-nove, meno e underscore; la modalità decode inverte il processo e rifiuta i caratteri Base64 standard, gli spazi bianchi, e i quanti finali incompleti.
Dove si incontra Base64url tra link e token
Gli sviluppatori incontrano Base64url quando ispezionano segmenti JWT, creano valori di stato e nonce OAuth, incorporano piccoli claim binary-safe in parametri di query, o memorizzano identificatori opachi in file di configurazione solo testo. I team frontend decodificano token sicuri per URL durante il debug di integrazione senza incollare dati in script ad hoc che reintroducono accidentalmente più e barra. I servizi backend codificano frammenti di configurazione o piccoli digest binari prima di inserirli in URL di redirect dove il Base64 standard si romperebbe.
Gli ingegneri di qualità generano coppie deterministiche di codifica e decodifica per test contrattuali così un middleware che dichiara supporto Base64url non può passare in silenzio ad altri alfabeti. Gli educatori usano lo stesso strumento quando insegnano la differenza tra il Base64 MIME e la variante sicura per URL su cui gli stack di autenticazione moderni si standardizzano.
Casi d'uso
Pratica con token JWT e OAuth
Codificate o decodificate segmenti sicuri per URL usati in JWT, stato OAuth e valori nonce senza padding Base64 standard o caratteri +/.
Domande frequenti
In cosa Base64url è diverso dal Base64 standard?
Base64url usa - e _ invece di + e /, e questo strumento non emette né accetta mai il padding =. Il Base64 standard con + / = viene rifiutato in decodifica.
Cosa succede se incollo Base64 standard con + o =?
Sostituite + con -, / con _, rimuovete il padding, oppure usate uno strumento Base64 standard.
Il risultato è deterministico?
Sì. Lo stesso testo e la stessa modalità producono sempre lo stesso risultato senza rete, casualità o comportamenti legati alla data.
Perché il mio risultato Base64url non finisce con segni di uguale?
Perché Base64url omette il riempimento che il Base64 standard aggiunge. «hello world» diventa aGVsbG8gd29ybGQ senza nulla dopo. In decodifica, una lunghezza che lascia un solo carattere in avanzo in un gruppo di quattro viene rifiutata, perché non può formare byte interi.
Posso decodificare una parte di un JWT con questo strumento?
Sì. Le parti di un JWT sono Base64url, quindi incolli una parte alla volta, senza i punti che le separano, e scelga la decodifica per leggere il testo. Un punto o un segno più vengono rifiutati perché non fanno parte dell'alfabeto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "hello world"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64url",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
A differenza del Base64 classico, l'output non contiene mai i caratteri più o barra e non termina mai con il padding uguale, così i token sopravvivono a query string, segmenti di percorso e JSON senza escaping aggiuntivo. Scegliete encode per trasformare un messaggio, un insieme di claim o una stringa di configurazione in un payload Base64url compatto, oppure scegliete decode per recuperare il testo originale da un token sicuro per URL che già possedete.
Cos'è Base64url e cosa restituisce questo strumento
La risposta JSON include result per la stringa trasformata, mode che riporta encode o decode, encoding fissato a base64url, e input_bytes più output_bytes così potete verificare le dimensioni nei test. Non c'è percorso di streaming e nessun ripiego silenzioso sull'alfabeto classico: o la stringa è testo Base64url valido oppure la richiesta fallisce con invalid_input. Se vi serve il Base64 standard con padding con più e barra, usate un endpoint Base64 standard dedicato; questa landing è solo per il contratto sicuro per URL senza padding che JWT e molte API moderne già si aspettano.
Come vengono letti testo e modalità e come i risultati restano riproducibili
Encode accetta qualsiasi stringa Unicode, la converte con il TextEncoder della piattaforma in byte UTF-8, quindi emette Base64url senza padding. Decode richiede una stringa Base64url pura: una lunghezza modulo quattro uguale a uno viene rifiutata perché non può rappresentare un numero intero di byte, e qualsiasi carattere fuori dall'alfabeto sicuro per URL fallisce con un messaggio chiaro che indica più, barra o uguale quando quei simboli Base64 standard compaiono. Dopo il recupero dei byte, una decodifica UTF-8 fatale assicura che i dati binari spuri non diventino testo illeggibile. Il campo preferito del payload è text, con gli alias input, value e s così form, query string e client SDK possono riusare lo stesso contratto senza rinominare colonne. Mode è predefinito su encode e accetta esplicitamente decode; gli alias op, direction e action mappano allo stesso interruttore per script che già usano quei nomi. Abbinate l'esecuzione gratuita nel browser di questa pagina all'API a pagamento quando vi serve lo stesso risultato matematico dentro una pipeline automatizzata senza reimplementare da soli le tabelle Base64url. Gli input non validi restituiscono invalid_input e non vengono addebitati, il che mantiene economica la validazione mentre le trasformazioni riuscite restano a un prezzo fisso per elemento.
Dove si inserisce Base64url in token, API e fixture di test
In questa pagina il lavoro viene svolto interamente nel browser; tramite l'API ogni ricerca riuscita costa $0.002, la convalida fallita non viene addebitata e nulla viene conservato dopo la restituzione della risposta. Questa divisione — esplorazione interattiva gratuita e API a pagamento identica — corrisponde al resto del catalogo tier A del KIT e permette di passare da una dimostrazione in aula a una pipeline automatizzata senza cambiare il risultato codificato. Abbinatelo agli helper JWT o hash quando vi servono altri passaggi crittografici correlati, e agli altri endpoint di codifica quando state costruendo un piccolo laboratorio di strumenti di testo gratuiti e deterministici.
Casi di integrazione
Payload sicuri per query string
Trasformate breve testo in Base64url così sopravvive a parametri di query e segmenti di percorso senza sorprese di percent-encoding.
Fixture CI deterministiche
Generate stringhe Base64url riproducibili per unit test, file golden e controlli contrattuali tra servizi.
Domande tecniche
Quanto costa il codificatore Base64url?
È gratuito nel browser su questa pagina. Tramite l'API una richiesta riuscita costa $0.002; gli input non validi non vengono addebitati.
Quali modalità sono supportate?
mode=encode (predefinito) trasforma testo semplice in Base64url. mode=decode trasforma una stringa Base64url di nuovo in testo UTF-8.