Como o EXIF é armazenado dentro de um JPEG
Um arquivo JPEG é uma sequência de segmentos, cada um anunciado por um marcador de dois bytes. Os metadados vivem em segmentos APP1 perto do topo do arquivo, antes de qualquer dado de pixel. Um segmento APP1 de EXIF começa com a assinatura ASCII Exif seguida de dois bytes nulos, e então embute um arquivo TIFF em miniatura: uma marca de ordem de bytes (II para little-endian, MM para big-endian) e um ou mais Image File Directories (IFDs). Cada IFD é uma tabela plana de entradas de 12 bytes — número da tag, tipo de dado, contagem e um valor ou um offset para ele. O IFD0 guarda tags de nível de câmera como Make e Model, e duas tags especiais de ponteiro ramificam para subdiretórios: 0x8769 aponta para o sub-IFD EXIF (configurações de exposição, data e hora originais, lente) e 0x8825 aponta para o sub-IFD de GPS. Como tudo isso fica em segmentos autocontidos, separados dos dados comprimidos da imagem, um limpador pode removê-los com um recorte no nível de bytes e deixar os pixels intocados.