Decodifica una parola semplice
SGVsbG8gV29ybGQ=
Hello World
Il = finale è riempimento, perché Hello World è lungo 11 byte, che non è un multiplo di 3. La decodifica lo rimuove sempre correttamente.
Codifica o decodifica all'istante stringhe e file Base64.
Ultimo aggiornamento
Coddy ti insegna facendoti scrivere codice vero nel browser: lezioni interattive, feedback immediato e aiuto dall'AI quando ti blocchi.
Base64 è uno schema di codifica che rappresenta dati binari usando 64 caratteri stampabili. Gli sviluppatori lo usano ogni volta che un sistema che gestisce solo testo deve trasportare byte: piccole immagini incorporate nell'HTML, token, allegati email, URL data, segreti copiati nei log e campi JSON che contengono blob binari.
Base64 è una *codifica*, non una crittografia. Decodificare una stringa Base64 di solito rivela subito il contenuto originale, quindi non va mai considerata una protezione di sicurezza. Tutto ciò che sta dentro un Base64 è di fatto pubblico, a meno che non sia stato cifrato *prima* della codifica.
Dietro le quinte, Base64 prende 3 byte (24 bit) e li riscrive come 4 caratteri presi da un alfabeto fisso di 64 caratteri (da A a Z, da a a z, da 0 a 9, +, /). Quando la lunghezza dell'input non è un multiplo di 3, il codificatore aggiunge uno o due caratteri = alla fine come riempimento. Ecco perché le stringhe Base64 finiscono spesso con =.
= completano l'ultimo gruppo di 4 e sono normali in molte stringhe Base64.+ e /) e il Base64URL (usa - e _, così è sicuro negli URL e nei JWT).Scegli Codifica se hai testo semplice o un file e vuoi l'output in Base64. Scegli Decodifica se hai una stringa Base64 e vuoi riavere il contenuto originale.
Incolla una stringa nella casella di testo, oppure trascina un file (immagine, PDF, qualsiasi cosa) nell'area di rilascio. I file vengono convertiti in un URL data: pronto da incorporare in HTML o CSS.
L'output codificato è la stringa Base64. L'output decodificato è il testo originale oppure, se l'input era un file, i byte recuperati mostrati come link per il download.
Clicca il pulsante di copia per mettere il risultato negli appunti. Tutto gira nel tuo browser, quindi l'input non lascia mai il tuo computer.
Gli elementi che incontrerai di continuo lavorando con Base64, definiti dalla RFC 4648.
| Elemento | Significato | Esempio |
|---|---|---|
| Alfabeto | 64 caratteri usati dal Base64 standard | A–Z, a–z, 0–9, +, / |
| Alfabeto sicuro per URL | Usato da JWT e URL | A–Z, a–z, 0–9, -, _ |
| Padding | Riempie l'ultimo gruppo quando la lunghezza non è un multiplo di 3 | = o == |
| Dimensione del gruppo | Byte per blocco codificato → 4 caratteri in output | 3 byte → 4 caratteri |
| Aumento di lunghezza | L'output è circa il 33% più grande dell'input | 100 B → 136 caratteri |
| Data URL | File incorporato inline in HTML/CSS | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
Il = finale è riempimento, perché Hello World è lungo 11 byte, che non è un multiplo di 3. La decodifica lo rimuove sempre correttamente.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
I token JWT codificano ogni segmento esattamente così: ecco perché i payload JWT di solito iniziano con eyJ, che è la forma Base64 di {".
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
Il prefisso dichiara il tipo di contenuto (image/png) e la codifica (base64). Tutto ciò che viene dopo la virgola è il contenuto del file. Utile per immagini minuscole che si caricano insieme alla pagina.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
Il Base64 sicuro per URL sostituisce + con - e / con _, così il valore può stare dentro un URL senza altro escape. I JWT usano questa variante.
= e passare il risultato a un decodificatore rigido che se lo aspetta. (I decodificatori URL-safe di solito accettano il padding mancante; quelli standard potrebbero non farlo.)= come riempimento.atob() nei browser, Buffer.from(str, 'base64') in Node.js, base64.b64decode() in Python.=?= è il riempimento. Base64 produce 4 caratteri ogni 3 byte di input. Quando la lunghezza dell'input non è un multiplo di 3, si aggiungono uno o due = così la lunghezza codificata resta un multiplo di 4.data:image/png;base64,..., così l'immagine è incorporata direttamente in HTML, CSS o JSON senza una richiesta di rete separata.