utilstuff.com
Torna agli Strumenti Dev
Strumenti per Sviluppatori
I tuoi dati rimangono nel tuo browser.

Codificatore / Decodificatore Base64

Codifica testo in Base64 o decodifica Base64 in testo.

Cos’è il Base64?

Il Base64 scrive qualsiasi sequenza di byte con 64 caratteri sicuri — A–Z, a–z, 0–9, + e / — più = come riempimento, così che i dati binari possano passare attraverso canali che accettano solo testo, come campi JSON, email, intestazioni HTTP e URL data:. Ogni 3 byte diventano 4 caratteri, quindi la forma codificata è circa un terzo più grande dell’originale. Questo strumento converte tra Base64 e testo UTF-8 oppure byte scritti in esadecimale.

Come Usare il Codificatore / Decodificatore Base64

  1. Scegli una modalità: Testo → Base64 e Base64 → Testo lavorano con testo UTF-8 leggibile; Hex → Base64 e Base64 → Hex lavorano con byte grezzi scritti in esadecimale, come chiavi, hash o byte di file e immagini.
  2. Incolla l’input, esegui la conversione e copia il risultato. Dopo una conversione riuscita, cambiando modalità il risultato passa nell’input, così puoi riconvertirlo o convertirlo nell’altro formato.
  3. Se Base64 → Testo rifiuta un input che sai essere Base64 standard, probabilmente i byte decodificati sono binari e non testo: usa Base64 → Hex per visualizzarli.

Note Tecniche

  • Testo → Base64 codifica il testo in UTF-8 prima di convertirlo. Base64 → Testo decodifica i byte come UTF-8 e funziona solo se formano UTF-8 valido; un testo salvato in origine con un’altra codifica, come Latin-1 o UTF-16, può essere rifiutato o apparire con caratteri errati.
  • Il decodificatore accetta solo Base64 standard: i caratteri + e /, con riempimento = in modo che la lunghezza sia un multiplo di 4. Spazi e a capo vengono ignorati, quindi puoi incollare così com’è un Base64 suddiviso su più righe. Non sono accettati il Base64 URL-safe (Base64url, che usa - e _), l’input senza riempimento e i prefissi data: — i segmenti di un JWT, ad esempio, sono Base64url senza riempimento e non possono essere incollati direttamente. La codifica produce sempre Base64 standard con riempimento, su una sola riga.
  • Il Base64 può contenere byte arbitrari, non solo testo. Quando i byte decodificati sono binari — una chiave, un hash, parte di un file o di un’immagine — Base64 → Testo di solito segnala un errore anche se il Base64 in sé è corretto; Base64 → Hex mostra quei byte in esadecimale minuscolo, due cifre per byte, senza separatori.
  • L’input esadecimale deve essere composto da coppie di cifre esadecimali (0–9 e a–f, maiuscole o minuscole), quindi il numero di cifre deve essere pari. Spazi e a capo tra le cifre sono ammessi, ma non il prefisso 0x né i separatori con i due punti (come in 48:65).
Importante: Il Base64 è una codifica, NON una cifratura. Non fornisce riservatezza o sicurezza.

Domande Frequenti

A cosa serve il Base64?+

Tra gli usi comuni: incorporare piccole immagini o font in HTML e CSS come URL data:, gli allegati email (MIME), valori binari come chiavi, certificati o firme all’interno di JSON, XML o intestazioni HTTP, e la coppia utente:password dell’autenticazione HTTP Basic. Per decodificare qui un URL data:, incolla solo la parte dopo la virgola.

Perché il mio Base64 non si decodifica?+

Le cause più comuni sono il Base64 URL-safe che usa - e _ al posto di + e /, il riempimento = mancante (la lunghezza deve essere un multiplo di 4), un prefisso data: lasciato davanti ai dati oppure — in Base64 → Testo — byte decodificati binari anziché testo UTF-8. Per un input URL-safe o senza riempimento, sostituisci - con + e _ con /, poi aggiungi = finché la lunghezza non è un multiplo di 4; per i dati binari, usa Base64 → Hex.

Questo strumento supporta Unicode ed emoji?+

Sì. Il testo viene convertito in UTF-8 prima della codifica, quindi le lettere accentate e le emoji diventano le loro sequenze UTF-8 di più byte — é occupa 2 byte, la maggior parte delle emoji 4 — e la decodifica fa il percorso inverso. Uno strumento che codifica il testo in UTF-16 o Latin-1 produce un Base64 diverso per gli stessi caratteri.

I miei dati vengono inviati a un server?+

No. Tutta la codifica e decodifica viene eseguita al 100% localmente all’interno del tuo browser web. Nessun dato viene trasmesso sulla rete.