Immagine JPEG (.jpg)

ISO/IEC Standard

JPEG è 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:

Seleziona o rilascia i file qui

Privato - i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

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 FF

RAPPRESENTAZIONE ASCII: ÿØÿ

Standardizzazione: ISO/IEC 10918-1 / ITU-T T.81

Specifiche tecniche

Architettura del contenitoreFlusso binario delimitato da marker (prefisso 0xFF) racchiuso in intestazioni JFIF o EXIF
CompressioneTrasformata Discreta del Coseno (DCT) con perdita + codifica entropica Run-length e Huffman
Endianness dei byteBig-endian per la lunghezza dei marker e le tabelle di quantizzazione; Exif può essere little-endian (II) o big-endian (MM)
Spazi coloresRGB, Adobe RGB, CMYK, Y'CbCr, Scala di grigi
Canali e struttura8 bit per canale (24 bit a colori reali) o 8 bit in scala di grigi
Dimensioni massime65.535 x 65.535 pixel (interi senza segno a 2 byte)
TrasparenzaNessuna (solo opaco; nessun supporto per il canale alfa)
Streaming e progressivoLa codifica JPEG progressiva memorizza passaggi spettrali multipli da bassa ad alta risoluzione

Matrice di confronto tecnico: JPG vs Concorrenti

Attributo tecnicoJPG (Attuale)WebPAVIFPNG
Paradigma di compressioneDCT con perdita + codifica HuffmanCon perdita (VP8) e senza perditaCon perdita (AV1) e senza perditaDeflate senza perdita
Trasparenza alfaNessun supporto per il canale alfa (sempre opaco)Canale alfa a 8 bitCanale alfa a 8, 10 o 12 bitCanale alfa completo a 8 o 16 bit
Decodifica hardwareIl supporto alla decodifica JPEG hardware dedicata varia in base al chip e al dispositivo.Decodifica hardware diffusa nei SoC moderniDecodifica hardware in rapida espansione nelle GPU moderneDecodifica rapida basata su CPU
Efficienza di compressioneBuon punto di riferimento per le fotografiePuò essere più piccolo di JPEG; i risultati variano in base all’immagine e all’encoderPuò essere più piccolo di JPEG; i risultati variano in base all’immagine e all’encoderInefficiente per contenuti fotografici
Profondità coloreStandard a 8 bit per canale (24 bit a colori reali)8 bit per canaleAmpia gamma cromatica HDR a 10-bit e 12-bit8-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

1998Gli standard dei contenitori JFIF ed EXIF stabiliscono il predominio delle fotocamere digitali.
1992La specifica JPEG viene ratificata come ISO/IEC 10918-1.
1986Il gruppo Joint Photographic Experts Group viene fondato sotto ISO e CCITT.

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.