Informazioni su questo strumento
Questo codificatore / decodificatore Base64 gratuito converte testo da e verso Base64. È sicuro con UTF-8, quindi emoji, lettere accentate, cinese, giapponese, coreano, arabo e cirillico sopravvivono intatti al viaggio di andata e ritorno — cosa che non si può dire di un numero sorprendente di strumenti Base64.
Tutto avviene nel tuo browser. Nulla di ciò che incolli viene caricato, registrato o visto da qualcuno. Qui conta più che altrove: ogni giorno si incollano chiavi API, token e frammenti di configurazione nei convertitori Base64.
Che cos'è davvero il Base64
Il Base64 non è crittografia. E non è nemmeno compressione. È un modo di riscrivere *qualsiasi* dato usando solo 64 caratteri che si possono inviare senza rischi quasi ovunque: A–Z, a–z, 0–9, + e /, con = come riempimento finale.
La ragione della sua esistenza è storica e ancora attuale. Molti sistemi sono stati costruiti per trasportare testo, non byte arbitrari — corpi di email, stringhe JSON, attributi XML, intestazioni HTTP, URL, variabili d'ambiente. Consegna loro un byte grezzo come 0x00 o 0x1B e qualcosa lungo il percorso lo rovinerà, lo eliminerà o rifiuterà il messaggio. Il Base64 aggira l'intero problema trasformando quei byte in lettere e cifre ordinarie a cui nessuno obietta.
Il meccanismo è semplice: il Base64 prende i dati 3 byte alla volta (24 bit) e li riscrive come 4 caratteri (6 bit ciascuno). Questo rapporto è il motivo per cui l'output Base64 è sempre circa il 33% più grande dell'input. Quando i dati non si dividono esattamente per 3, l'ultimo gruppo viene riempito con uno o due =.
Il Base64 non è un segreto
Va detto chiaramente, perché causa veri incidenti di sicurezza.
Chiunque può decodificare il Base64. Non c'è chiave, né password, né segreto. Questa stessa pagina lo decodifica in un istante, e lo faranno anche ogni sviluppatore, ogni analizzatore di log e ogni malintenzionato che lo trovi. cGFzc3dvcmQxMjM= non è una password nascosta: è la parola password123 sotto un travestimento molto sottile.
Quindi: il Base64 va bene per il trasporto. Non è, e non è mai stato, un modo per proteggere alcunché. Se qualcosa deve restare illeggibile, serve vera crittografia. Il fatto che un valore *sembri* mescolato non significa che *sia* protetto.
Questo vale anche al contrario, ed è utile: se trovi una lunga sequenza di lettere e cifre che termina con = in un log, in una configurazione o in una URL, è molto probabile che sia Base64 — e puoi semplicemente leggerla.
Dove lo incontrerai
- Data-URL — data:image/png;base64,iVBORw0KGgo… incorpora un'immagine direttamente in HTML o CSS, senza un file separato
- Autenticazione HTTP Basic — l'intestazione Authorization è letteralmente utente:password in Base64, ed è esattamente per questo che il Basic Auth senza HTTPS è insicuro
- JSON Web Token — un JWT è fatto di tre blocchi Base64url uniti da punti; i primi due sono JSON perfettamente leggibile
- Allegati email — MIME trasporta file binari in Base64 attraverso sistemi di solo testo da decenni
- File di configurazione e segreti — i secret di Kubernetes, i file .env e le variabili di CI spesso salvano valori in Base64, di nuovo per il trasporto e non per la sicurezza
- API — qualsiasi campo che debba trasportare dati binari dentro una stringa JSON
UTF-8, e perché alcuni strumenti sbagliano
Il Base64 codifica byte, non caratteri. Prima di poter codificare qualsiasi cosa il testo va trasformato in byte — ed è lì che gli strumenti si rompono in silenzio.
Il bug classico è usare una conversione a un byte per carattere su testo che contiene qualcosa al di fuori dell'ASCII puro. Incolla caffè, 日本語 o un emoji in uno strumento scritto così e otterrai un errore o, peggio, un output silenziosamente corrotto che ritorna come caratteri senza senso.
Questo strumento converte prima il testo in UTF-8, la codifica che il web usa davvero. é, →, 🎉 e 한국어 si codificano e si decodificano esattamente come li hai scritti.
Base64 standard e Base64url
Esistono due varianti, e confonderle è una causa frequente degli errori «non è Base64 valido».
Il Base64 standard usa + e / come ultimi due caratteri. È ciò che produce questo strumento ed è ciò che quasi tutto si aspetta.
Il Base64url li sostituisce con - e _ e di solito elimina il riempimento =. Esiste perché + e / hanno un significato proprio dentro una URL e un percorso di file, e andrebbero quindi protetti. I JWT usano Base64url, così come molte API che mettono valori codificati in un percorso o in una query string.
Se una decodifica fallisce su una stringa piena di - e _, il motivo è questo. Sostituirli con + e / di solito risolve.
Come si usa
- Incolla il tuo testo (o il Base64) nel campo
- Codifica o Decodifica con i pulsanti
- Scambia per riportare il risultato nell'input e andare nell'altra direzione
- Copia il risultato
Buono a sapersi
- L'output Base64 è ~33% più grande dell'input. Un'immagine da 3 MB diventa circa 4 MB come data-URL — da ricordare prima di incorporare file grandi.
- Gli spazi di solito sono innocui. Molti sistemi spezzano il Base64 a 76 caratteri per riga; i decodificatori normalmente ignorano gli a capo.
- Il = compare solo alla fine, mai in mezzo. Uno o due, mai tre.
- La lunghezza è sempre un multiplo di 4 una volta incluso il riempimento. Se la tua non lo è, qualcosa è stato troncato.
- Decodificare dati binari arbitrari in testo sembrerà privo di senso. Se decodifichi un PNG ottieni byte, non parole — è corretto, non un errore.
Domande frequenti
Il Base64 è crittografia?
No, ed è la cosa più importante da sapere. Il Base64 non ha chiave né segreto. Chiunque veda la stringa può decodificarla in un passaggio, questa pagina compresa. È una codifica per il trasporto sicuro, non una protezione. Non usarlo mai per nascondere una password, un token o qualunque altra cosa che conti.
Perché il mio Base64 finisce con uno o due segni di uguale?
È il riempimento. Il Base64 lavora su gruppi di 3 byte che diventano 4 caratteri. Quando i dati non si dividono esattamente per 3, l'ultimo gruppo è incompleto e viene riempito con = perché la lunghezza totale resti un multiplo di 4. Un byte residuo dà ==, due byte danno =, e un multiplo esatto non dà alcun riempimento.
Perché la mia stringa Base64 è più lunga dell'originale?
Perché ogni 3 byte diventano 4 caratteri, quindi l'output è sempre circa il 33% più grande dell'input, più fino a due caratteri di riempimento. È inevitabile ed è il prezzo per rendere dati arbitrari trasportabili in un campo di testo. Se la dimensione conta, comprimi i dati prima di codificarli, non dopo.
Posso codificare un'immagine o un PDF in Base64?
Sì, ed è un uso comune: è così che le data-URL incorporano immagini in HTML e CSS. Questo strumento lavora sul testo che incolli, quindi è adatto a token, JSON, valori di configurazione e stringhe Base64 già esistenti. Ricorda l'aumento del 33% prima di incorporare qualcosa di voluminoso.
Perché la decodifica fallisce con «non è Base64 valido»?
Le cause abituali sono una stringa troncata, caratteri estranei incollati insieme a essa, oppure il Base64url. Il Base64url usa - e _ dove il Base64 standard usa + e /, e spesso ha il riempimento rimosso, quindi un blocco di JWT incollato così com'è può non decodificarsi. Sostituisci - con + e _ con / e riprova.
Il mio testo viene inviato a un server?
No. L'intera conversione avviene nel tuo browser usando le sue funzioni integrate. Nulla viene caricato e nulla viene memorizzato, ed è per questo che lo strumento continua a funzionare con la connessione spenta. Considerando quanto spesso si incollano credenziali negli strumenti Base64, il punto è proprio questo.
Strumenti correlati
- Codificatore / decodificatore URL — l'altra codifica che si incontra di continuo in URL e query string
- Decodificatore JWT — legge per te i blocchi Base64url di un token, senza sostituzioni manuali
- Generatore di hash — MD5, SHA-1 e SHA-256 che, a differenza del Base64, sono a senso unico
- Immagine in Base64 — trasformare un vero file immagine in una data-URL