Onde são guardados os dados EXIF numa foto? (JPEG, PNG, HEIC)
Onde vive de facto o EXIF dentro de um ficheiro de foto? O cabeçalho APP1, a árvore IFD, os offsets de bytes, e como JPEG, HEIC, PNG, TIFF e WebP o guardam.
Resposta rápida: O EXIF é guardado dentro do próprio ficheiro de imagem, não num ficheiro sidecar separado. Num JPEG vive no segmento de marcador APP1, um bloco de cabeçalho que começa com os bytes 0xFFE1 perto do início do ficheiro, com as tags organizadas lá dentro como uma árvore TIFF/IFD (IFD0, um sub-IFD Exif e um IFD GPS). No HEIC as mesmas tags ficam nas caixas de metadados do contentor; no PNG podem viver num chunk eXIf; o TIFF guarda-as de forma nativa. Como os dados estão incorporados, viajam com a foto sempre que a copias ou envias. Larga qualquer foto no nosso Visualizador EXIF para veres o que lá está; nada é enviado.
As pessoas assumem muitas vezes que os metadados vivem numa base de dados oculta no telefone, ou num pequeno ficheiro ao lado da foto. Não vivem. O "quando, onde e como" é escrito diretamente nos bytes do ficheiro de imagem, numa região reservada perto da frente. Este guia explica onde fica essa região e o que acontece quando editas ou partilhas a foto.
A versão curta: está no ficheiro, perto do topo
Abre qualquer JPEG diretamente de uma câmara e olha para as primeiras centenas de bytes. Depois do marcador de início de imagem (0xFFD8), uma das primeiras coisas que encontras é o segmento de marcador APP1, que contém todo o bloco EXIF. Os pixels comprimidos vêm depois dele. Por isso, um JPEG típico de câmara segue: marcador de início 0xFFD8, o marcador APP1 0xFFE1 que contém o EXIF, cabeçalhos opcionais (perfil ICC APP2, IPTC APP13, XMP), os dados de pixels, depois o marcador de fim 0xFFD9. Como o EXIF fica num cabeçalho perto do topo, separado dos pixels, uma edição limpa de EXIF não recomprime a imagem; a ferramenta apenas reescreve a região do cabeçalho.
A árvore IFD: IFD0, sub-IFD Exif, IFD GPS
O segmento APP1 abre com 0xFFE1, um comprimento de dois bytes e o identificador Exif\0\0. Logo a seguir, a carga útil começa com um pequeno cabeçalho TIFF: o EXIF é, internamente, um pequeno ficheiro TIFF incorporado dentro do JPEG. Esse cabeçalho declara a ordem dos bytes (II little-endian ou MM big-endian) e um offset para o primeiro diretório de tags.
A partir daí, as tags são organizadas como uma árvore de IFD (Image File Directories), não uma lista plana. Cada um tem a sua função:
- IFD0 (o diretório "0" ou "TIFF"): campos ao nível da câmara e da imagem, como Make, Model, Software, Orientation e Copyright. Contém também duas tags de ponteiro que levam aos subdiretórios abaixo.
- Sub-IFD Exif: dados técnicos do momento da captura. DateTimeOriginal, ajustes de exposição, lente, ISO, espaço de cor.
- IFD GPS: latitude, longitude, altitude e marcas temporais derivadas do GPS, presente apenas quando uma localização foi registada.
- IFD1 (o diretório "1"): uma miniatura incorporada que a câmara gerou.
Um leitor percorre a árvore: começa no cabeçalho TIFF, salta para o IFD0, segue o ponteiro Exif para os ajustes de captura, segue o ponteiro GPS para a localização. O nosso Visualizador EXIF faz exatamente isto e dispõe cada diretório na sua própria tabela; a referência de tags EXIF é o dicionário completo de cada campo. Os valores que cabem em quatro bytes ficam inline na entrada da tag; os maiores, como uma coordenada GPS, são guardados noutro ponto do segmento, com a entrada a conter um offset de bytes até eles.
Como outros formatos guardam as mesmas tags
As tags EXIF são em grande medida as mesmas entre formatos. O que difere é o contentor onde as tags são arrumadas.
- JPEG / JPG: o segmento de marcador APP1 descrito acima.
- TIFF: guarda o EXIF de forma nativa. Um ficheiro TIFF é uma estrutura de IFD, por isso o EXIF não está aparafusado, faz parte do formato base. O EXIF do JPEG é uma cópia emprestada deste layout TIFF.
- HEIC: o padrão do iPhone desde o iOS 11. O seu contentor HEIF é construído a partir de "caixas" aninhadas, e as tags EXIF vivem numa caixa de metadados de item em vez de um marcador ao estilo JPEG. As mesmas tags, arrumação diferente.
- PNG: pode carregar EXIF num chunk dedicado
eXIf; ferramentas mais simples usam por vezes chunks de textotEXtouiTXt. Muitos PNG exportados para web não carregam nenhum. - WebP: guarda o EXIF num chunk
EXIFdentro do seu contentor RIFF.
A referência de tags cobre em detalhe as ressalvas de edição por formato.
Por que "incorporado" importa: os metadados viajam com o ficheiro
Como o EXIF vive dentro do ficheiro, segue a foto para todo o lado onde o ficheiro vá. Copia o JPEG para uma pen USB, anexa-o a um email, ou larga-o numa pasta partilhada, e as coordenadas GPS e a hora de captura vêm junto. É exatamente por isto que os metadados são tão úteis como prova e tão arriscados para a privacidade: a prova, e a fuga, estão incrustadas.
Isto também explica por que remover EXIF não é um simples apagar de uma linha. As tags estão entrelaçadas na estrutura do cabeçalho do ficheiro, por isso removê-las significa reescrever o ficheiro sem essa região. O nosso Removedor EXIF faz isto no teu navegador.
O que acontece quando editas, fazes captura de ecrã ou fazes upload
Como o EXIF faz parte do ficheiro, o que sobrevive depende de o ficheiro ser ou não recodificado:
- Copiar, mover, renomear: os bytes ficam inalterados, por isso o EXIF é preservado.
- Cortar, rodar, edições ligeiras: a maioria dos editores mantém o bloco e apenas atualiza as tags de dimensão e orientação. Alguns reescrevem-no; verifica depois com o visualizador.
- Captura de ecrã: uma captura de ecrã é uma imagem totalmente nova com o seu próprio EXIF mínimo e nenhum dos dados de câmara ou GPS do original. É, na prática, uma limpeza de metadados.
- Upload para plataformas sociais: Instagram, Facebook, X e WhatsApp removem o EXIF no upload ao recodificar. As ferramentas de partilha de ficheiros como email, Dropbox e AirDrop mantêm-no.
Para o panorama mais amplo do que o EXIF regista e por que as pessoas o consultam, vê o que são dados EXIF.
FAQ
O EXIF é guardado num ficheiro separado ao lado da foto? Não, está incorporado dentro do próprio ficheiro de imagem. (Alguns fluxos de trabalho RAW profissionais usam ficheiros sidecar .xmp, mas o EXIF padrão num JPEG, HEIC, PNG ou TIFF vive dentro da imagem.)
Qual é a diferença entre o bloco APP1 e os IFD? O APP1 é o compartimento do JPEG que contém o EXIF. Os IFD (IFD0, sub-IFD Exif, IFD GPS) são a árvore de diretórios dentro desse compartimento.
Em resumo
O EXIF não é guardado numa base de dados oculta de app nem num ficheiro sidecar. Está incorporado na imagem: num JPEG isso significa o segmento de marcador APP1 perto do topo, estruturado como uma árvore TIFF/IFD (IFD0, sub-IFD Exif, IFD GPS). HEIC, PNG, WebP e TIFF guardam as mesmas tags nos seus próprios contentores. Como está incrustado, os metadados viajam com cada cópia.
Para ver onde vivem os metadados da tua foto: Visualizador EXIF. Para os remover antes de partilhar: Removedor EXIF. Para o significado de cada tag: referência de tags EXIF. Tudo no teu navegador, nada é enviado.
Teste as ferramentas
Carimbe uma foto agora mesmo no seu navegador ou instale o app de iOS para captura ao vivo com GPS e horário atômico.