Para converter uma pasta de fotos HEIC em JPEGs no macOS e manter seus metadados EXIF, use o sips para criar os JPEGs e, em seguida, o ExifTool para copiar os metadados de cada original. Mantenha os arquivos HEIC intactos e salve os novos arquivos em uma pasta separada. Esse processo em duas etapas torna a transferência de metadados explícita; uma conversão de imagem bem-sucedida por si só não garante que todos os campos EXIF foram transferidos para o JPEG.
O que você precisa saber antes de converter
Um JPEG é uma nova codificação de imagem, portanto, os dados da imagem são recomprimidos. Não é possível convertê-la sem nenhuma alteração na qualidade da imagem. Os metadados são uma questão à parte: detalhes da câmera, data de captura e tags de GPS podem estar armazenados no original, mas nem todo campo HEIC tem um equivalente que um JPEG possa armazenar. Copiar metadados, portanto, não é garantia de que todos os campos sobreviverão inalterados. Verifique o resultado se uma tag específica for importante.
O Pré-Visualização (Preview) do macOS pode exportar uma única imagem ou várias imagens selecionadas como JPEG: abra as imagens em uma única janela, selecione-as na barra lateral e escolha Arquivo > Exportar. A Apple documenta os controles de formato e qualidade, mas não documenta se a exportação em lote preserva todos os campos EXIF. Se a retenção de metadados for um requisito, use o fluxo de trabalho explícito de cópia e verificação abaixo. Guia de conversão do Pré-Visualização da Apple
Converter e copiar metadados com o Terminal
Este fluxo de trabalho usa o comando sips da Apple para converter cada imagem e, em seguida, o ExifTool para copiar os metadados do respectivo original correspondente. Instale o ExifTool primeiro usando suas instruções oficiais de instalação. Crie uma pasta de origem contendo os arquivos HEIC e uma pasta de destino vazia. No exemplo, as pastas são ~/Pictures/HEIC-Originals e ~/Pictures/JPEG-Converted; altere esses caminhos se os seus forem diferentes.
Abra o Terminal e execute este exemplo completo em Bash. Ele lida com espaços em nomes de pastas e arquivos, reconhece as extensões .heic e .heif independentemente de maiúsculas ou minúsculas e grava os JPEGs na pasta de destino separada.
src="$HOME/Pictures/HEIC-Originals"
out="$HOME/Pictures/JPEG-Converted"
mkdir -p "$out"
find "$src" -maxdepth 1 -type f \( -iname '*.heic' -o -iname '*.heif' \) -print0 |
while IFS= read -r -d '' file; do
name=$(basename "${file%.*}")
jpg="$out/$name.jpg"
if sips -s format jpeg "$file" --out "$jpg"; then
exiftool -TagsFromFile "$file" -all:all -overwrite_original "$jpg"
else
printf 'Conversion failed: %s\n' "$file" >&2
fi
done
O comando sips produz o JPEG; as opções -TagsFromFile e -all:all do ExifTool copiam os metadados do original especificado. A opção -overwrite_original evita que o ExifTool deixe uma cópia de backup de cada JPEG. A documentação do ExifTool descreve a cópia de metadados e observa que as tags que um formato de destino pode conter dependem desse formato. Documentação da aplicação ExifTool
O script procura apenas no nível superior da pasta de origem. Se suas fotos estiverem em pastas aninhadas, execute-o em cada pasta separadamente ou adapte os caminhos de busca e destino para que arquivos com nomes idênticos não sobrescrevam uns aos outros. Certifique-se de que o destino esteja vazio ou de que seus nomes de arquivo não entrem em conflito com arquivos existentes. Mantenha os originais até verificar o resultado.
Verifique se os JPEGs contêm os metadados de que você precisa
Use o ExifTool para inspecionar um JPEG convertido lado a lado com sua fonte. Substitua o nome de arquivo de exemplo por um do seu lote:
exiftool -a -G1 -s "$HOME/Pictures/HEIC-Originals/IMG_0001.HEIC"
exiftool -a -G1 -s "$HOME/Pictures/JPEG-Converted/IMG_0001.jpg"
Compare os campos que importam para você, como DateTimeOriginal, marca e modelo da câmera e coordenadas de GPS. Se um campo aparecer no HEIC, mas não no JPEG, a conversão ou a cópia de metadados não o preservou de forma utilizável; não presuma que ele foi retido apenas porque o Finder exibe uma data ou o JPEG abre. O ExifTool pode ler metadados de muitos formatos de imagem, mas as tags suportadas e os campos graváveis variam conforme o formato. Documentação de formatos e tags do ExifTool
Problemas comuns e limitações
Se o sips informar que não pode ler um arquivo, verifique se ele é uma imagem compatível e se a extensão do nome do arquivo corresponde ao arquivo. Se o Terminal disser exiftool: command not found, o ExifTool não está instalado ou não está no PATH do seu shell. Se dois originais compartilharem o mesmo nome base, o script terá como alvo o mesmo nome de JPEG; processe esses arquivos em pastas de destino separadas ou renomeie-os antes de converter.
A cópia de EXIF não preserva todas as propriedades associadas à foto original. Um JPEG não pode representar dados exclusivos de HEIC, e copiar tags não torna os pixels do JPEG idênticos à imagem decodificada do HEIC. Para arquivos importantes, retenha os HEICs originais e trate os JPEGs como cópias de compatibilidade. Quando o uso de destino exigir apenas uma mudança rápida de formato e os metadados não forem importantes, a exportação em lote documentada do Pré-Visualização é mais simples; quando campos EXIF específicos importarem, converta, copie e inspecione-os.
Fontes
Converter tipos de arquivos de imagem no Pré-Visualização do Mac — Suporte da Apple
ExifTool Application Documentation — ExifTool
ExifTool Tag Names — ExifTool
Installing ExifTool — ExifTool