JPEG-afbeelding (.jpg)
ISO/IEC StandaardJPEG is de meest gebruikte standaard voor compressie met verlies voor digitale fotografie en webafbeeldingen, waarbij gebruik wordt gemaakt van de grotere gevoeligheid van het menselijk oog voor luminantie ten opzichte van chrominantie.
PNG naar JPG converteren
Gratis PNG-naar-JPG-converter in uw browser. Converteer bestanden direct op uw apparaat.
JPG online comprimeren
Privé - bestanden verlaten uw apparaat niet
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen JPG-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen JPG-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
FF D8 FFASCII-WEERGAVE: ÿØÿ
Standaardisatie: ISO/IEC 10918-1 / ITU-T T.81
Technische specificaties
| Containerarchitectuur | Door markers afgebakende binaire stroom (0xFF-voorvoegsel) verpakt in JFIF- of EXIF-headers |
| Compressie | Discrete cosinustransformatie (DCT) met verlies + run-length- en Huffman-entropiecodering |
| Bytevolgorde (endianness) | Big-Endian voor markerlengten en kwantisatietabellen; Exif kan Little (II) of Big (MM) zijn |
| Kleurruimten | sRGB, Adobe RGB, CMYK, Y'CbCr, Grijstinten |
| Kanalen en structuur | 8-bit per kanaal (24-bit Truecolor) of 8-bit grijstinten |
| Maximale afmetingen | 65.535 x 65.535 pixels (gehele getallen zonder teken van 2 bytes) |
| Transparantie | Geen (alleen opaak; geen ondersteuning voor alfakanaal) |
| Streaming en progressief | Progressieve JPEG-codering slaat meerdere spectrale passes op van lage naar hoge resolutie |
Technische vergelijkingsmatrix: JPG versus concurrenten
| Technisch kenmerk | JPG (Huidig) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Compressieparadigma | DCT met verlies + Huffman-codering | Met verlies (VP8) en verliesvrij | Met verlies (AV1) en verliesvrij | Verliesvrije Deflate |
| Alfatransparantie | Geen ondersteuning voor alfakanaal (altijd opaak) | 8-bit alfatransparantie | 8-bit / 10-bit / 12-bit alfa | Volledige 8-bit / 16-bit alfa |
| Hardwarematige decodering | Hardwarematige decodering is beschikbaar op veel GPU's en mobiele SoC's; ondersteuning verschilt per chip en apparaat | Wijdverbreide hardwaredecodering in moderne SoC's | Snel uitbreidende hardwaredecodering in moderne GPU's | Snelle decodering op basis van CPU |
| Compressie-efficiëntie | Goed uitgangspunt voor foto's | Kan kleiner zijn dan JPEG; resultaten verschillen per afbeelding en encoder | Kan kleiner zijn dan JPEG; resultaten verschillen per afbeelding en encoder | Inefficiënt voor fotografische inhoud |
| Kleurbitdiepte | Standaard 8-bit per kanaal (24-bit Truecolor) | 8-bit per kanaal | 10-bit en 12-bit HDR met breed kleurengamma | 8-bit en 16-bit per kanaal |
Veelvoorkomende beschadigingen en gids voor hex-herstel
De afbeeldingsviewer toont 'Premature end of JPEG file' of het onderste deel van de foto is effen grijs of vertoont kleurige banden.
Oorzaak: Afgebroken download of onvolledige schrijfactie naar de opslag, waarbij de afsluitende marker 0xFFD9 (EOI) en de scangegevens van de afbeelding ontbreken.
Herstel: Voeg marker 0xFFD9 toe aan het einde van de afgeknotte stroom zodat decoders het intacte bovenste deel van de foto kunnen weergeven.
Afbeeldingskleuren lijken sterk verschoven, omgekeerd of psychedelisch.
Oorzaak: CMYK-kleurruimteheader omgekeerd of ongeldig ingebed ICC-profiel.
Herstel: Converteer de kleurruimte van CMYK naar sRGB met ImageMagick ('magick broken.jpg -colorspace sRGB fixed.jpg').
Bestand kan niet worden geopend en meldt 'Invalid marker found'.
Oorzaak: Bitcorruptie in de headers van de kwantisatietabel (DQT 0xFFDB) of de Huffman-tabel (DHT 0xFFC4).
Herstel: Vervang de beschadigde headermarkers door standaard baseline JFIF Huffman- en kwantisatietabellen geëxtraheerd uit een intacte JPEG.
Beveiligingsanalyse en aanvalsvectoren voor parsers
JPEG-beveiliging draait voornamelijk om privacylekken via metadata (EXIF) en bufferoverflows in verouderde C-decoders (libjpeg).
Bekende aanvalsvectoren
- Openbaarmaking van gevoelige metadata: niet-verwijderde EXIF-headers met GPS-coördinaten, serienummers van camera's en miniatuurweergaven.
- Buffer-over-reads en integeroverflows in verouderde libjpeg-versies bij het parseren van beschadigde herstartmarkers (RST) of progressieve scanscripts.
- Polyglot-bestanden die JPEG-headers combineren met uitvoerbare ZIP- of RAR-archieven.
Aanbevolen beveiligingspraktijken: Verwijder altijd EXIF- en GPS-geolocatiemetadata wanneer u foto's van gebruikers publiceert, om hun privacy te beschermen. Gebruik moderne geheugenveilige decoders (zoals image-rs in Rust) of WebAssembly-decoders in een sandbox.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- JPEG-decodering wordt breed ondersteund door beeldsoftware en -hardware, hoewel de compatibiliteit per apparaat en toepassing verschilt.
- Uitstekende compressieverhoudingen (10:1 tot 20:1) voor continue fotografische tonen.
- Klein formaat met progressieve weergavemogelijkheid.
Technische beperkingen
- Compressie met verlies veroorzaakt compressie-artefacten (ringing en blokvorming) langs scherpe randen.
- Geen ondersteuning voor alfakanaal.
- Generatieverlies treedt op telkens wanneer een bestand wordt gedecomprimeerd, bewerkt en opnieuw opgeslagen.
Interessante technische weetjes
- De klassieke 'Lenna'-testafbeelding die werd gebruikt om JPEG-compressie te ontwikkelen, werd gescand uit de uitgave van november 1972 van het tijdschrift Playboy.
- JPEG 4:2:0-subsampling halveert de chromaresolutie zowel horizontaal als verticaal, met nauwelijks waarneembaar kwaliteitsverlies.
- Elke standaard JPEG begint met marker 0xFFD8 (Start of Image) en eindigt met 0xFFD9 (End of Image).
Veelgestelde technische vragen
Waarom vermindert het meerdere keren opslaan van een JPEG-bestand de beeldkwaliteit?
JPEG is een compressieformaat met onomkeerbaar verlies. Elke keer dat u een JPEG decomprimeert en opnieuw opslaat, verwijdert de DCT-kwantisatiestap hoogfrequente ruimtelijke details en worden de 8x8-pixelblokken opnieuw benaderd, wat cumulatieve artefacten door generatieverlies veroorzaakt.
Wat is progressieve JPEG en waarom is dit handig?
Een standaard baseline JPEG decodeert scanline voor scanline van boven naar beneden. Progressieve JPEG codeert afbeeldingsdata in meerdere spectrale doorgangen, waardoor browsers direct een onscherpe weergave in lage resolutie van de hele afbeelding kunnen renderen en deze geleidelijk scherper maken naarmate bytes worden gedownload.
Wat is kleursubsampling (4:2:0 vs 4:4:4)?
Het menselijk netvlies heeft meer staafjes (voor luminantie/helderheid) dan kegeltjes (voor kleur). JPEG benut dit door de volledige helderheidsresolutie (Y) te behouden en de kleurresolutie (Cb, Cr) horizontaal en verticaal te halveren (4:2:0). Zo wordt vóór de compressie 50% van de ruwe gegevens weggelaten, met een onmerkbaar verlies.
Kan een JPEG-afbeelding een transparante achtergrond hebben?
Nee. De standaard JPEG-specificatie heeft geen concept van een alfakanaal. Als transparantie is vereist, moet u de afbeelding converteren naar WebP, AVIF of PNG.
Gerelateerde conversieparen voor JPG
Het converteren van PNG-rasterafbeeldingen naar het JPEG-formaat verkleint de bestandsgrootte door compressie met verlies (lossy) toe te passen. Hierdoor laden afbeeldingen sneller op websites en gebruiken ze minder opslagruimte.
Het converteren van een JPEG-rasterafbeelding met verlies naar een verliesvrije PNG-rasterafbeelding voorkomt verder generatieverlies en voegt ondersteuning voor transparantie via een alfakanaal toe.
Het converteren van JPEG-afbeeldingen naar WebP kan de bestandsgrootte verkleinen bij een vergelijkbare visuele kwaliteit, hoewel de resultaten variëren per afbeeldingsinhoud en coderingsinstellingen.
Het converteren van WebP naar JPEG kan een stilstaande afbeelding makkelijker te gebruiken maken in software die geen WebP ondersteunt; JPEG behoudt geen transparantie of animatie.
Het converteren van HEIC-foto's naar JPEG-afbeeldingen zet het standaard cameraformaat van Apple om in breed leesbare rasterbestanden voor oudere software en webbrowsers.
Het converteren van AVIF-afbeeldingen naar JPEG kan helpen bij oudere software die het AV1 Image File Format niet ondersteunt.
Het converteren van een verouderde JPEG-afbeelding naar een AVIF-afbeelding verkleint de bestandsgrootte aanzienlijk met behoud van een hoge visuele natuurgetrouwheid dankzij geavanceerde moderne videocoderingstechnologie.
Converteer zware Adobe Photoshop PSD-composities naar compacte, overal te bekijken JPEG-foto's.