Codifica

Base64

Codifica e decodifica Base64 — testo e file, direttamente nel browser.

Base64 is a binary-to-text encoding that represents arbitrary bytes using 64 printable ASCII characters (A–Z, a–z, 0–9, plus + and /). It exists so binary data — images, archives, cryptographic keys — can pass unchanged through channels that were designed for text only.

This tool encodes and decodes both plain text and files. Everything runs client-side in your browser: the input never leaves your machine, which makes it safe for tokens, private keys, and other sensitive data.

How to use it

Common uses

Things to keep in mind

Base64 is not encryption — anyone can decode it. It only changes the representation of data, not its confidentiality.

Encoded output is about 33% larger than the input because every 3 bytes become 4 characters.

For URLs and file names use Base64URL, which swaps + and / for - and _ and often drops the = padding.

Articolo su questo strumento: Base64: a cosa serve la codifica e come funziona

Domande frequenti

A cosa serve realmente Base64?

Base64 trasforma dati binari in testo ASCII semplice così può viaggiare in sicurezza attraverso sistemi che gestiscono solo testo, come corpi di email, payload JSON o una piccola immagine incorporata direttamente in CSS/HTML.

Perché l'output codificato è più grande del mio input?

Base64 impacchetta 3 byte di input in 4 caratteri di output, quindi il testo codificato è circa il 33% più grande dell'originale. È normale, non un errore.

Il mio file o testo viene caricato da qualche parte?

No. La codifica e decodifica avvengono interamente nel tuo browser con JavaScript — nulla viene inviato a un server, quindi funziona anche offline.

In cosa differisce il Base64 standard dal Base64URL?

Nel Base64URL i caratteri + e / sono sostituiti da - e _, così la stringa può essere inserita in sicurezza in un URL o in un nome di file senza un ulteriore percent-encoding. È proprio questa la variante usata da JWT.

Cosa significa il carattere = alla fine della stringa?

È un carattere di riempimento (padding) che indica quanti byte mancano nell'ultimo blocco da 3 byte. Non è sempre obbligatorio — alcuni sistemi lo omettono deliberatamente.

Articoli: Codifica

Base32: come si differenzia da Base64 e quando è più comodo

L'alfabeto di Base32, insensibile a maiuscole/minuscole, e i casi in cui è più comodo di Base64.

URL Encode/Decode: il percent-encoding nei link

Come i caratteri speciali negli indirizzi e nei parametri diventano sequenze %XX.

HTML Entities: come mostrare caratteri speciali in sicurezza

Perché i caratteri < > & vanno escapati e come questo evita di rompere il markup.

JWT: struttura del token e cosa significa "decodificare" un JWT

Header, payload e signature di un JWT, e perché decodificare non equivale a verificare la firma.

Unicode Escape: cosa significano le sequenze \uXXXX

Da dove vengono sequenze come \u0041 in JSON e nelle stringhe JS, e cosa significano.

ROT13 e il cifrario di Cesare: semplice sostituzione di caratteri

Perché uno scorrimento di 13 lettere rende ROT13 auto-inverso, e perché si usa ancora oggi.

Punycode: come funzionano i domini internazionalizzati nel DNS

Come un dominio con caratteri non latini diventa una forma ASCII con il prefisso xn--.

Il codice Morse: come il testo diventa punti e linee

Il principio di codifica delle lettere in punti e linee, e dove si usa ancora oggi il Morse.

Data URI: quando incorporare immagini direttamente nel codice

Come un Data URI incorpora il contenuto di un file direttamente in HTML o CSS, e quando conviene.

Gzip + Base64: comprimere dati per trasmetterli come testo

Perché i dati binari compressi vengono anche codificati in Base64 prima di finire in un campo di testo.

XML Entities: escapare i caratteri nei documenti XML

Le cinque entity XML obbligatorie senza le quali il documento si rompe durante il parsing.