Immagine in Base64
Il base64 trasforma un'immagine in una lunga stringa di testo che puoi incollare dentro HTML, CSS o JSON. Così l'immagine viaggia dentro il codice, senza un file separato da caricare. Questo strumento converte la tua foto in una data URI pronta all'uso, direttamente nel browser e gratis.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Quando conviene incorporare l'immagine
Incorporare una piccola immagine in base64 fa risparmiare una richiesta al server: l'icona o il logo arrivano già dentro il CSS o l'HTML, senza un file esterno da scaricare. È comodo per email HTML dove i file allegati fanno storie, per un singolo componente autonomo o per un prototipo che vuoi tenere in un solo file. Incolli la stringa e l'immagine appare.
Data URI pronta da incollare
Lo strumento non ti dà solo il base64 grezzo: ti restituisce la data URI completa, con il prefisso del tipo di file già impostato, e gli snippet pronti per il tag img in HTML o per la proprietà background in CSS. Copi il blocco che ti serve e lo incolli nel progetto, senza costruire la stringa a mano.
Attenzione al peso
Il base64 è comodo, ma va usato con criterio: una stringa pesa circa un terzo in più del file originale e appesantisce il codice. Ha senso per icone e immagini piccole; per foto grandi conviene tenerle come file separati. Lo strumento ti mostra il peso finale della stringa così decidi con cognizione.
Casi d'uso
Email HTML
Chi invia una newsletter incorpora il logo in base64 nel modello, così l'immagine si vede anche quando il client di posta blocca i file remoti.
Componente autonomo
Uno sviluppatore di Firenze inserisce una piccola icona direttamente nel CSS del componente, evitando di gestire un file esterno.
Prototipo in un solo file
Per una demo veloce da mandare a un cliente, tutte le immagini finiscono dentro l'unico file HTML: niente cartelle, niente link rotti.
Domande frequenti
Cos'è una data URI?
È la stringa completa che inizia con data: seguita dal tipo di file e dal contenuto in base64. La incolli dove andrebbe l'indirizzo dell'immagine e la foto appare senza un file separato.
È gratis?
Sì, senza limiti. La conversione gira nel tuo browser. Per farlo in automatico su molti file via API il prezzo è $0.002 a richiesta.
La mia immagine viene inviata a un server?
No. Tutto avviene sul tuo dispositivo: l'immagine non lascia il browser e la stringa la generi in locale.
Conviene sempre incorporare le immagini?
No. Per icone e immagini piccole sì; per foto grandi il base64 gonfia il codice e conviene lasciare il file separato. Lo strumento ti mostra il peso finale.
Ricevo anche lo snippet pronto?
Sì: la data URI completa e gli esempi già pronti per HTML e CSS, così copi e incolli senza costruire la stringa a mano.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/image/to-base64 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/to-base64", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/to-base64",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/to-base64", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/to-base64", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.to_base64",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 15 |
max_megapixels | 12 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |