Immagine JPEG (.jpg)
ISO/IEC StandardJPEG è lo standard di compressione con perdita più ampiamente adottato per la fotografia digitale e le immagini web, sfruttando la maggiore sensibilità dell'occhio umano alla luminanza rispetto alla crominanza.
Converti da PNG a JPG
Convertitore gratuito da PNG a JPG nel browser. Converti i file istantaneamente sul tuo dispositivo.
Comprimi JPG online
Privato - i file non lasciano mai il tuo dispositivo
Ispezione e metadati
I sistemi operativi e gli analizzatori di file identificano i file JPG ispezionando la sequenza di byte binari iniziale:
Firma dell'intestazione a livello di byte (Magic Bytes)
I sistemi operativi e gli analizzatori di file identificano i file JPG ispezionando la sequenza di byte binari iniziale:
FIRMA ESADECIMALE (OFFSET 0):
FF D8 FFRAPPRESENTAZIONE ASCII: ÿØÿ
Standardizzazione: ISO/IEC 10918-1 / ITU-T T.81
Specifiche tecniche
| Architettura del contenitore | Flusso binario delimitato da marker (prefisso 0xFF) racchiuso in intestazioni JFIF o EXIF |
| Compressione | Trasformata Discreta del Coseno (DCT) con perdita + codifica entropica Run-length e Huffman |
| Endianness dei byte | Big-endian per la lunghezza dei marker e le tabelle di quantizzazione; Exif può essere little-endian (II) o big-endian (MM) |
| Spazi colore | sRGB, Adobe RGB, CMYK, Y'CbCr, Scala di grigi |
| Canali e struttura | 8 bit per canale (24 bit a colori reali) o 8 bit in scala di grigi |
| Dimensioni massime | 65.535 x 65.535 pixel (interi senza segno a 2 byte) |
| Trasparenza | Nessuna (solo opaco; nessun supporto per il canale alfa) |
| Streaming e progressivo | La codifica JPEG progressiva memorizza passaggi spettrali multipli da bassa ad alta risoluzione |
Matrice di confronto tecnico: JPG vs Concorrenti
| Attributo tecnico | JPG (Attuale) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Paradigma di compressione | DCT con perdita + codifica Huffman | Con perdita (VP8) e senza perdita | Con perdita (AV1) e senza perdita | Deflate senza perdita |
| Trasparenza alfa | Nessun supporto per il canale alfa (sempre opaco) | Canale alfa a 8 bit | Canale alfa a 8, 10 o 12 bit | Canale alfa completo a 8 o 16 bit |
| Decodifica hardware | Il supporto alla decodifica JPEG hardware dedicata varia in base al chip e al dispositivo. | Decodifica hardware diffusa nei SoC moderni | Decodifica hardware in rapida espansione nelle GPU moderne | Decodifica rapida basata su CPU |
| Efficienza di compressione | Buon punto di riferimento per le fotografie | Può essere più piccolo di JPEG; i risultati variano in base all’immagine e all’encoder | Può essere più piccolo di JPEG; i risultati variano in base all’immagine e all’encoder | Inefficiente per contenuti fotografici |
| Profondità colore | Standard a 8 bit per canale (24 bit a colori reali) | 8 bit per canale | Ampia gamma cromatica HDR a 10-bit e 12-bit | 8-bit e 16-bit per canale |
Modalità di corruzione comuni e guida al recupero esadecimale
Il visualizzatore di immagini mostra 'Fine prematura del file JPEG' oppure la parte inferiore della foto è di colore grigio uniforme o presenta bande colorate.
Causa principale: Download troncato o scrittura su memoria incompleta priva del marker di chiusura 0xFFD9 (EOI) e del payload di scansione dell'immagine.
Ripristino: Aggiungere il marker 0xFFD9 alla fine del flusso troncato per consentire ai decoder di visualizzare la parte superiore intatta della fotografia.
I colori dell'immagine appaiono pesantemente alterati, invertiti o psichedelici.
Causa principale: Intestazione dello spazio colore CMYK invertita o profilo ICC incorporato non valido.
Ripristino: Convertire lo spazio colore da CMYK a sRGB utilizzando ImageMagick ('magick broken.jpg -colorspace sRGB fixed.jpg').
Il file non si apre e segnala 'Marker non valido trovato'.
Causa principale: Corruzione di bit all'interno delle intestazioni della Tabella di Quantizzazione (DQT 0xFFDB) o della Tabella di Huffman (DHT 0xFFC4).
Ripristino: Sostituire i marker di intestazione danneggiati con le tabelle standard di base JFIF di Huffman e quantizzazione estratte da un JPEG integro.
Analisi di sicurezza e vettori di attacco del parser
La sicurezza JPEG riguarda soprattutto le fughe di metadati che compromettono la privacy (EXIF) e gli overflow dei buffer nei decoder C legacy (libjpeg).
Vettori di attacco noti
- Divulgazione di metadati sensibili: intestazioni EXIF non rimosse contenenti coordinate GPS, numeri di serie della fotocamera e anteprime in miniatura.
- Buffer over-read e integer overflow nell'analisi legacy di libjpeg che corrompono i marker di riavvio (RST) o gli script di scansione progressiva.
- File poliglotti che combinano intestazioni JPEG con archivi eseguibili ZIP o RAR.
Migliori pratiche difensive: Rimuovere sempre i metadati di geolocalizzazione EXIF e GPS quando si pubblicano foto degli utenti per proteggere la loro privacy. Utilizzare decoder moderni sicuri per la memoria (come image-rs in Rust) o decoder WebAssembly in sandbox.
Origini storiche e tappe fondamentali
Vantaggi principali
- La decodifica JPEG è ampiamente supportata da software e dispositivi di imaging, ma la compatibilità varia in base al dispositivo e all’applicazione.
- Eccellenti rapporti di compressione (da 10:1 a 20:1) per toni fotografici continui.
- Ridotta occupazione di dati con capacità di rendering progressivo.
Limiti tecnici e svantaggi
- La compressione con perdita causa artefatti di compressione (effetto ringing e blocchi) lungo i bordi netti.
- Nessun supporto per il canale di trasparenza.
- La perdita generazionale si verifica ogni volta che un file viene decompresso, modificato e salvato nuovamente.
Curiosità tecniche
- La classica immagine di test 'Lenna' utilizzata per sviluppare la compressione JPEG è stata scansionata dal numero di novembre 1972 della rivista Playboy.
- Il sottocampionamento 4:2:0 del JPEG dimezza la risoluzione cromatica sia in orizzontale che in verticale con un degrado percettivo quasi pari a zero.
- Ogni JPEG standard inizia con il marker 0xFFD8 (Start of Image) e termina con 0xFFD9 (End of Image).
Domande tecniche frequenti
Perché salvare un file JPEG più volte riduce la qualità dell'immagine?
JPEG è un formato di compressione con perdita irreversibile. Ogni volta che si decomprime e si risalva un JPEG, il passaggio di quantizzazione DCT scarta i dettagli spaziali ad alta frequenza e riapprossima i blocchi di pixel 8x8, causando artefatti cumulativi di 'perdita generazionale'.
Cos'è il JPEG progressivo e perché è utile?
Un JPEG di base standard decodifica riga per riga dall'alto verso il basso. Il JPEG progressivo codifica i dati dell'immagine in passaggi spettrali multipli, consentendo ai browser di visualizzare istantaneamente una sfocatura a bassa risoluzione dell'intera immagine e di renderla più nitida progressivamente man mano che i byte vengono scaricati.
Cos'è il campionamento cromatico (Chroma Subsampling 4:2:0 vs 4:4:4)?
La retina umana ha più fotorecettori a bastoncelli (luminanza/luminosità) rispetto ai coni (colore). JPEG sfrutta questo fatto preservando la piena risoluzione della luminosità (Y) mentre dimezza la risoluzione del colore (Cb, Cr) sia in orizzontale che in verticale (4:2:0), eliminando il 50% dei dati grezzi prima della compressione con una perdita impercettibile.
Un'immagine JPEG può avere uno sfondo trasparente?
No. La specifica JPEG standard non prevede un canale alfa. Se serve la trasparenza, converti l’immagine in WebP, AVIF o PNG.
Coppie di conversione per JPG correlate
La conversione di immagini raster PNG in formato JPEG riduce le dimensioni del file applicando una compressione con perdita, rendendo le immagini più veloci da caricare sui siti Web e riducendo lo spazio di archiviazione.
La conversione di un’immagine raster JPEG con perdita in un’immagine raster PNG senza perdita evita ulteriori perdite di qualità e aggiunge il supporto alla trasparenza tramite canale alfa.
Convertire immagini JPEG in WebP può ridurre le dimensioni mantenendo una qualità visiva comparabile, ma il risultato varia in base al contenuto dell’immagine e alle impostazioni di codifica.
Convertire WebP in JPEG può rendere un’immagine statica più facile da usare con software che non supporta WebP; JPEG non conserva trasparenza o animazione.
La conversione di foto HEIC in immagini JPEG trasforma il formato di fotocamera predefinito di Apple in file raster leggibili universalmente da software e browser web meno recenti.
Convertire immagini AVIF in JPEG può essere utile con software meno recente che non supporta AV1 Image File Format.
La conversione di un'immagine JPEG datata in formato AVIF riduce significativamente le dimensioni del file preservando un'elevata fedeltà visiva grazie alla moderna tecnologia di codifica video.
Converti pesanti composizioni Adobe Photoshop PSD in foto JPEG compatte e visualizzabili su qualsiasi dispositivo.