← Fotogidsen

Waar worden EXIF-gegevens opgeslagen in een foto? (JPEG, PNG, HEIC)

Waar leven EXIF-gegevens eigenlijk in een fotobestand? De APP1-header, de IFD-boom, byte-offsets en hoe JPEG, HEIC, PNG, TIFF en WebP ze elk opslaan.

Snel antwoord: EXIF wordt opgeslagen in het afbeeldingsbestand zelf, niet in een apart sidecar-bestand. In een JPEG leeft het in het APP1-markersegment, een headerblok dat begint met de bytes 0xFFE1 nabij het begin van het bestand, met de tags daarin geordend als een TIFF/IFD-boom (IFD0, een Exif-sub-IFD en een GPS-IFD). In HEIC zitten dezelfde tags in de metadatadozen van de container; in PNG kunnen ze in een eXIf-chunk leven; TIFF slaat ze native op. Omdat de data is ingebed, reist ze met de foto mee telkens wanneer je hem kopieert of verstuurt. Sleep een willekeurige foto in onze EXIF Viewer om te zien wat erin zit; er wordt niets geüpload.

Mensen nemen vaak aan dat metadata in een verborgen database op hun telefoon leeft, of in een klein bestand naast de foto. Dat is niet zo. Het "wanneer, waar en hoe" wordt rechtstreeks in de bytes van het afbeeldingsbestand geschreven, in een gereserveerd gebied nabij de voorkant. Deze gids legt uit waar dat gebied zich bevindt en wat er gebeurt wanneer je de foto bewerkt of deelt.

De korte versie: het zit in het bestand, nabij de bovenkant

Open een willekeurige JPEG rechtstreeks uit een camera en kijk naar de eerste paar honderd bytes. Na de start-of-image-marker (0xFFD8) is een van de eerste dingen die je tegenkomt het APP1-markersegment, dat het hele EXIF-blok bevat. De gecomprimeerde pixels komen er na. Een typische camera-JPEG verloopt dus: 0xFFD8 startmarker, de 0xFFE1 APP1-marker met EXIF, optionele headers (APP2 ICC-profiel, APP13 IPTC, XMP), de pixeldata, en dan de 0xFFD9 eindmarker. Omdat EXIF in een header nabij de bovenkant zit, gescheiden van de pixels, hercomprimeert een schone EXIF-bewerking de afbeelding niet; de tool herschrijft alleen het headergebied.

De IFD-boom: IFD0, Exif-sub-IFD, GPS-IFD

Het APP1-segment opent met 0xFFE1, een lengte van twee bytes en de identifier Exif\0\0. Direct daarna begint de payload met een kleine TIFF-header: EXIF is intern een klein TIFF-bestand dat in de JPEG is ingebed. Die header declareert de byte-volgorde (II little-endian of MM big-endian) en een offset naar de eerste directory van tags.

Vanaf daar zijn de tags georganiseerd als een boom van IFD's (Image File Directories), niet als één platte lijst. Elk heeft een taak:

  • IFD0 (de "0e" of "TIFF"-directory): camera- en afbeeldingsvelden zoals Make, Model, Software, Orientation en Copyright. Hij bevat ook twee pointertags die naar de onderstaande subdirectory's leiden.
  • Exif-sub-IFD: technische data van het opnamemoment. DateTimeOriginal, belichtingsinstellingen, lens, ISO, kleurruimte.
  • GPS-IFD: breedtegraad, lengtegraad, hoogte en van GPS afgeleide tijdstempels, alleen aanwezig wanneer een locatie is vastgelegd.
  • IFD1 (de "1e" directory): een ingebedde thumbnail die de camera genereerde.

Een lezer doorloopt de boom: begin bij de TIFF-header, spring naar IFD0, volg de Exif-pointer voor opname-instellingen, volg de GPS-pointer voor locatie. Onze EXIF Viewer doet precies dit en legt elke directory in een eigen tabel uit; de EXIF-tag-referentie is het volledige woordenboek van elk veld. Waarden die in vier bytes passen zitten inline in de tag-entry; grotere, zoals een GPS-coördinaat, worden elders in het segment opgeslagen, waarbij de entry een byte-offset naar die waarden bevat.

Hoe andere formaten dezelfde tags opslaan

De EXIF-tags zijn grotendeels hetzelfde over formaten heen. Wat verschilt is de container waarin de tags worden weggestopt.

  • JPEG / JPG: het hierboven beschreven APP1-markersegment.
  • TIFF: slaat EXIF native op. Een TIFF-bestand is een structuur van IFD's, dus EXIF is er niet op gebouwd, het is onderdeel van het basisformaat. De EXIF van JPEG is een geleende kopie van deze TIFF-indeling.
  • HEIC: de iPhone-standaard sinds iOS 11. Zijn HEIF-container is opgebouwd uit geneste "dozen", en de EXIF-tags leven in een item-metadatadoos in plaats van een JPEG-achtige marker. Dezelfde tags, andere opbergplek.
  • PNG: kan EXIF dragen in een speciale eXIf-chunk; eenvoudigere tools gebruiken soms in plaats daarvan tEXt- of iTXt-tekstchunks. Veel naar het web geëxporteerde PNG's dragen er helemaal geen.
  • WebP: slaat EXIF op in een EXIF-chunk binnen zijn RIFF-container.

De tag-referentie behandelt de bewerkingskanttekeningen per formaat in detail.

Waarom "ingebed" ertoe doet: de metadata reist met het bestand mee

Omdat EXIF in het bestand leeft, volgt het de foto overal waar het bestand heen gaat. Kopieer de JPEG naar een USB-stick, voeg hem toe aan een e-mail of zet hem in een gedeelde map, en de GPS-coördinaten en opnametijd gaan mee. Dit is precies waarom metadata zo nuttig is voor bewijs en zo risicovol voor privacy: het bewijs, en het lek, zitten erin gebakken.

Het verklaart ook waarom EXIF verwijderen geen verwijdering van één regel is. De tags zijn verweven in de headerstructuur van het bestand, dus ze verwijderen betekent het bestand herschrijven zonder dat gebied. Onze EXIF Remover doet dit in je browser.

Wat er gebeurt wanneer je bewerkt, screenshot of uploadt

Omdat EXIF onderdeel van het bestand is, hangt wat overleeft ervan af of het bestand opnieuw wordt gecodeerd:

  • Kopiëren, verplaatsen, hernoemen: de bytes blijven ongewijzigd, dus EXIF blijft behouden.
  • Bijsnijden, draaien, lichte bewerkingen: de meeste editors houden het blok en werken alleen de afmeting- en orientatietags bij. Sommige herschrijven het; controleer achteraf met de viewer.
  • Screenshot: een screenshot is een gloednieuwe afbeelding met zijn eigen minimale EXIF en niets van de camera- of GPS-data van het origineel. Het is in feite een metadatawis.
  • Uploaden naar social platforms: Instagram, Facebook, X en WhatsApp verwijderen EXIF bij upload door opnieuw te coderen. Tools voor bestandsdeling zoals e-mail, Dropbox en AirDrop houden het.

Voor het grotere plaatje van wat EXIF vastlegt en waarom mensen het bekijken, zie wat zijn EXIF-gegevens.

FAQ

Wordt EXIF opgeslagen in een apart bestand naast de foto? Nee, het is ingebed in het afbeeldingsbestand zelf. (Sommige professionele RAW-workflows gebruiken .xmp-sidecars, maar standaard-EXIF in een JPEG, HEIC, PNG of TIFF leeft binnen de afbeelding.)

Wat is het verschil tussen het APP1-blok en de IFD's? APP1 is het JPEG-slot dat de EXIF bevat. De IFD's (IFD0, Exif-sub-IFD, GPS-IFD) zijn de directory-boom binnen dat slot.

Tot slot

EXIF wordt niet bewaard in een verborgen app-database of een sidecar-bestand. Het is ingebed in de afbeelding: in een JPEG betekent dat het APP1-markersegment nabij de bovenkant, gestructureerd als een TIFF/IFD-boom (IFD0, Exif-sub-IFD, GPS-IFD). HEIC, PNG, WebP en TIFF slaan dezelfde tags op in hun eigen containers. Omdat het erin gebakken zit, reist de metadata met elke kopie mee.

Om te zien waar de metadata van je foto leeft: EXIF Viewer. Om het te verwijderen voor het delen: EXIF Remover. Voor de betekenis van elke tag: EXIF-tag-referentie. Alles in je browser, niets geüpload.

Probeer de tools

Stempel een foto direct in je browser, of installeer de iOS-app om live te schieten met GPS en atoomtijd.

Download on theApp Store
Open de webtool →EXIF-viewer →