Vai al contenuto
ToolPika

Codifica e decodifica Base64

Codifica un testo o un file in Base64, oppure incolla del Base64 per decodificarlo. Accenti ed emoji funzionano, e niente lascia il tuo browser.

Modalità
Fino a 5 MB. Il file resta sul tuo dispositivo.

Funziona nel tuo browser. Niente di ciò che inserisci viene inviato a un server.

Come funziona

Codifica. Il testo viene prima convertito in byte UTF-8, quindi sono supportate tutte le lingue e le emoji. Poi i byte vengono letti tre alla volta (24 bit), divisi in quattro gruppi da 6 bit, e ogni gruppo viene scritto come uno dei 64 caratteri. Se l’input non è un multiplo di tre byte, l’output viene completato con =.

Decodifica. Spazi e a capo vengono ignorati, il riempimento mancante viene aggiunto e il prefisso data:…;base64, viene rimosso, quindi puoi incollare il Base64 direttamente da un’email, da un file PEM o da un tag immagine HTML. Se i byte decodificati non sono testo valido (per esempio un’immagine), lo strumento te lo dice e ti permette di scaricarli come file.

I file vengono codificati byte per byte. Seleziona “Come URL data:” per ottenere una stringa da mettere direttamente in un <img src> o in un url() CSS.

Esempi

Testo Base64
foobar Zm9vYmFy
foob Zm9vYg==
café Y2Fmw6k=
😀 8J+YgA==
subjects?_d c3ViamVjdHM/X2Q= (sicuro per URL: c3ViamVjdHM_X2Q)

Il Base64 nel codice

Linguaggio Codificare testo Decodificare
JavaScript (browser) btoa(String.fromCharCode(...new TextEncoder().encode(s))) new TextDecoder().decode(Uint8Array.from(atob(b), c => c.charCodeAt(0)))
Node.js Buffer.from(s).toString('base64') Buffer.from(b, 'base64').toString()
Python base64.b64encode(s.encode()).decode() base64.b64decode(b).decode()
Shell echo -n 'testo' | base64 echo 'dGVzdG8=' | base64 -d

Domande frequenti

A cosa serve il Base64?

Trasforma qualsiasi dato in testo semplice composto da 64 caratteri sicuri (A–Z, a–z, 0–9, + e /), così i dati binari come immagini o chiavi possono passare attraverso sistemi pensati per il testo, come email, JSON, XML, URL e HTML.

Il Base64 è una cifratura?

No. Chiunque può decodificare il Base64 all’istante; non nasconde nulla. Non usarlo mai per proteggere password o dati personali.

Perché il Base64 è più grande dell’originale?

Ogni 3 byte diventano 4 caratteri, quindi i dati codificati sono circa il 33% più grandi, più fino a due segni = di riempimento alla fine.

Cos’è il Base64 sicuro per URL?

Una variante che sostituisce + con - e / con _, e di solito elimina il riempimento =, così il risultato si può usare in URL e nomi di file senza escape. È comune nei JSON Web Token (JWT). Il decodificatore di questa pagina accetta entrambe le varianti automaticamente.

Perché btoa() fallisce con il mio testo in JavaScript?

La funzione btoa() del browser accetta solo caratteri fino al codice 255, quindi un testo con emoji o con la maggior parte delle lettere non latine dà errore. Bisogna prima codificare il testo in byte UTF-8, che è ciò che fa questo strumento.