# Creare una GIF — da immagini a GIF animata

Trasforma una serie di immagini in una sola animazione.

> Trasforma immagini JPG, PNG o WebP in una GIF animata, gratis e interamente nel browser. L'ordine, la velocità e la dimensione li decidi tu. Non viene caricato niente e funziona anche offline.

Questa pagina è uno strumento interattivo che funziona interamente nel tuo browser, all'indirizzo https://abox.tools/it/creare-gif/ — nulla di ciò che gli affidi viene caricato. Quanto segue è tutto ciò che la pagina dice dello strumento a parole; per usarlo, apri l'indirizzo.

## Qui non si caricano immagini, **mai**. Non c'è nessun server.

Ogni fotogramma viene disegnato, quantizzato e compresso dal tuo browser, e la GIF finita viene assemblata nella memoria di questo dispositivo. Dall'altra parte di questa pagina non c'è nessun server a cui mandare un'immagine, nemmeno se qualcosa qui volesse farlo.

- ✗ Niente caricamenti
- ✗ Nessun account
- ✓ Funziona offline
- ✓ Open source
- ✓ I file restano sul tuo dispositivo

## Come fare una GIF da immagini

1. **Scegli le tue immagini.** Trascina una cartella sul selettore oppure scegli i file a mano. Il browser li legge direttamente dal tuo disco, e nel frattempo non esce niente da nessuna parte.
2. **Mettile nell'ordine in cui devono scorrere.** Trascina per la maniglia, oppure usa le frecce. «Ordina per nome» conta come ti aspetteresti, quindi `frame_2` finisce prima di `frame_10`.
3. **Decidi quanto resta in scena ogni fotogramma.** Mezzo secondo l'uno è una presentazione; un ventesimo è animazione. Dai a tutti la stessa durata in un colpo solo, oppure lasciane uno più a lungo.
4. **Scegli una dimensione e come vengono scelti i colori.** Una GIF cresce con la sua area e con il numero di fotogrammi, e non c'è nessun cursore della qualità che la riporti giù: la dimensione è quindi l'impostazione che conta di più. 256 colori per fotogramma è il valore di partenza ed è quello che si vede meglio; una tavolozza condivisa dà un file più piccolo e più stabile.
5. **Fai la GIF e scaricala.** Viene costruita sul tuo hardware, quindi quanto ci mette dipende dal tuo dispositivo e non da una coda. L'animazione finita gira sulla pagina prima che tu la salvi.

## La versione lunga

[Come fare una GIF animata da immagini](https://abox.tools/it/guide/creare-una-gif-da-immagini/): Trasformare una serie di immagini in una GIF animata: quanto veloce può andare davvero una GIF, cosa cambia l'impostazione della tavolozza, e le tre cose che il file lo alleggeriscono sul serio.

## Anche nella cassetta

- [Divisore di GIF](https://abox.tools/it/dividere-gif-in-fotogrammi/): Ogni fotogramma fuori, nel suo PNG.
- [Analizzatore di GIF](https://abox.tools/it/analizzare-gif/): Fotogrammi, durate, tavolozze e dove è finito ogni byte.
- [Immagini in video](https://abox.tools/it/immagini-in-video/): Trasforma una cartella di immagini in un video.
- [Tagliavideo](https://abox.tools/it/tagliare-video/): Segna i pezzi che vale la pena tenere mentre scorre. Te li ritrovi come un video solo.

## Domande

### Le mie immagini vengono caricate da qualche parte?

No. Le tue immagini le legge, le disegna, le quantizza e le comprime il tuo browser sul tuo hardware. Questo strumento non ha un lato server, e la `Content-Security-Policy` della pagina elenca ogni indirizzo che può contattare: nessuno appartiene a questo sito. Stacca la connessione e continua a fare GIF.

### Che formati di immagine posso usare?

Qualunque formato di immagine ferma che il tuo browser sappia decodificare, che in pratica vuol dire JPG, PNG, WebP, GIF, AVIF e, sui dispositivi Apple, HEIC. Qui non c'è un elenco a parte da tenere aggiornato, perché decodificare è compito del browser e non nostro.

### Perché la mia GIF è così grande?

Perché una GIF salva ogni fotogramma come pixel interi. Non c'è compensazione del movimento, niente viene salvato come «uguale a prima ma spostato» e non c'è una manopola della qualità: il peso è più o meno l'area per il numero di fotogrammi, e solo tre cose lo fanno scendere. \
\
Falla più piccola: dimezzare le dimensioni riduce il file a un quarto. Usa meno fotogrammi, o tieni ognuno più a lungo. Scendi a 64 o 32 colori e togli il dithering, che su un disegno piatto costa meno di quanto sembri e su una fotografia moltissimo. Se ancora non ci sta, la risposta onesta è che quello che stai facendo è un video, e un MP4 della stessa cosa peserà forse un decimo.

### Quanto veloce può andare una GIF?

Non veloce quanto suggerisce il numero. Il formato salva la durata di ogni fotogramma in centesimi di secondo, e dagli anni Novanta i browser portano a un decimo qualsiasi valore sotto i due centesimi: una regola scritta per i mappamondi che giravano all'epoca e mai più tolta. Quindi una durata di 0,01 s non va a 100 fotogrammi al secondo, va a 10. Per questo lo strumento non ti offre niente sotto 0,02 s, e 0,05 s, cioè 20 fotogrammi al secondo, è più o meno il limite oltre il quale non vale la pena chiedere.

### Cosa cambia l'impostazione della tavolozza?

Un fotogramma di GIF contiene al massimo 256 colori, e qualcuno deve sceglierli. \
\
**I colori migliori per ogni fotogramma** ne sceglie 256 per ogni immagine separatamente: è la resa più nitida ed è la risposta giusta per una serie di fotografie che non c'entrano una con l'altra. **Una tavolozza per tutta la GIF** costruisce una tabella sola a partire da tutti i fotogrammi insieme. Il file è più piccolo, e sparisce lo sfarfallio che compare quando la tavolozza salta da un fotogramma all'altro della stessa scena: è quindi la scelta giusta quando i fotogrammi sono una sequenza e non una raccolta.

### Posso tenere lo sfondo trasparente?

Sì, se le tue immagini ce l'hanno: metti «Trasparenza» su «Tieni le zone trasparenti». Una cosa da sapere prima di farlo. La trasparenza di una GIF è un bit soltanto: un pixel o è invisibile o è dipinto del tutto, e in mezzo non c'è niente. Quindi i bordi sfumati, le ombre morbide e tutto quello che digrada si ritrovano con un bordo netto. Se la tua animazione finirà su uno sfondo di cui conosci il colore, appiattirla su quel colore verrà meglio.

### C'è un limite a quante immagini posso usare?

Nello strumento non c'è nessun limite. Il tetto vero è la memoria del tuo dispositivo e la tua pazienza con il file che ne esce: le immagini vengono lette una alla volta, quindi cento fotogrammi vanno benissimo, ma cento fotogrammi a 640 px sono anche una GIF enorme. Vedi sopra, «Perché la mia GIF è così grande?».

### È gratis, e mi serve un account?

È gratis, e non c'è account, non c'è registrazione, non c'è periodo di prova. Sul risultato non c'è nemmeno una filigrana. Il sito ha della pubblicità, ed è quella che lo mantiene; agli annunci non arriva niente sulle tue immagini.

### Funziona offline?

Sì. Carica la pagina una volta, poi stacca la connessione e continua a funzionare. È anche il modo più semplice per dimostrare che non viene caricato niente, perché uno strumento che spedisse via le tue immagini per elaborarle si fermerebbe nell'istante in cui stacchi la spina.

## Come si verifica quello che promette

- **Le tue immagini non hanno una strada per uscire.** Nella Content-Security-Policy c'è ogni indirizzo che questa pagina può contattare, e non ne appartiene uno a questo sito. Qui non esiste un recapito dove i tuoi file possano essere raccolti, e nel codice non c'è niente che li manderebbe lì se esistesse. Una volta questa riga diceva `connect-src 'none'`, che non ammetteva eccezioni: la pubblicità è costata quello, e dirlo fa parte dell'accordo.
- **Il codificatore sono quattro file di questo repository.** Una GIF ha bisogno di un quantizzatore di colori e di un compressore LZW, e il browser non porta né l'uno né l'altro: quindi sono scritti tutti e due qui, in `src/quantize.js` e `src/lzw.js`, con il contenitore in `src/gif.js`. Per farne una non si scarica niente, e non c'è nessun motore che arrivi al primo utilizzo.
- **Cosa carica Google, e cosa non gli arriva.** Gli script della pubblicità e della misurazione arrivano da Google. A nessuno dei due viene passato niente sulle tue immagini: né un file, né una miniatura, né un nome, una dimensione o un conteggio. Ogni riga che legge, decodifica, disegna o comprime un'immagine è servita da questa origine ed è elencata nel repository.
- **Cosa carica il pulsante delle donazioni, e cosa non gli arriva.** Il pulsante «Buy me a coffee» in alto è disegnato da uno script di cdnjs.buymeacoffee.com e prende i caratteri da Google Fonts. Non è niente di più di un collegamento: non segnala nessuna visita e non gli viene passato niente su di te o sulle tue immagini. Finché non ci clicchi non succede niente, e quello a cui arriveresti è il sito di qualcun altro.
- **Funziona offline.** Stacca la rete e ogni pezzo di questa pagina continua a funzionare. È la prova più semplice che ci sia: uno strumento che spedisse via le tue immagini per farne una GIF si fermerebbe nell'istante in cui stacchi la spina.

**Verifica tu stesso.** Niente di quanto sopra va preso per buono. Questa pagina la genera, dai modelli e dalla configurazione del repository, uno script di build che puoi leggere ed eseguire anche tu, e il risultato finisce sul branch `dist`: puoi quindi confrontare quello che viene servito con quello che produce una build dei sorgenti. https://github.com/A-Box-of-Tools/website

I file da leggere per primi sono `config/site.toml` per la Content-Security-Policy, `src/quantize.js` per la tavolozza a cui viene ridotto ogni fotogramma, e `src/lzw.js` insieme a `src/gif.js` per il compressore e il file in cui finisce. In nessuno di loro c'è una riga che possa raggiungere la rete.
