Fotos HEIC do iPhone e WordPress: Como Enviar Sem Dor de Cabeça com Conversão
Todo iPhone vendido desde 2017 tira fotos no formato HEIC por padrão. Todo site WordPress construído antes de 2024 rejeitava arquivos HEIC no upload. Esse descompasso causou mais confusão do que qualquer outro problema de formato com o qual lidei em 15 anos construindo sites WordPress.
A situação melhorou no final de 2024, quando o WordPress 6.7 adicionou suporte nativo a HEIC. Mas "melhor" e "resolvido" não são a mesma coisa. Ainda existem ambientes de hospedagem onde uploads de HEIC falham silenciosamente, plugins que engasgam com o formato, e muito conselho conflitante circulando em fóruns.
Aqui está o que aprendi lidando com isso em dezenas de sites de clientes.
O Que o HEIC Realmente É
HEIC (High Efficiency Image Container) usa o formato de imagem HEIF com compressão H.265. A Apple o adotou no iOS 11 porque produz arquivos cerca de 40-50% menores que JPEG com a mesma qualidade visual. Uma foto típica do iPhone que seria de 6MB como JPEG sai com cerca de 3MB como HEIC.
Essa diferença de tamanho importa quando você está fazendo upload via celular, e importa para o armazenamento no seu servidor WordPress. Arquivos menores, mesma qualidade. Não há desvantagem no formato em si.
A desvantagem é a compatibilidade. Por anos, quase nada fora do ecossistema da Apple conseguia abrir arquivos HEIC. O Windows adicionou suporte em 2018. O Android em 2019. O WordPress só adicionou na versão 6.7 no final de 2024, e mesmo assim, depende do seu servidor ter a biblioteca de processamento de imagem certa instalada.
O HEIC também armazena metadados mais ricos que o JPEG: profundidade de cor de 10 bits em vez de 8 bits, gama de cores Display P3 mais ampla em vez de apenas sRGB, e mapas de ganho HDR que permitem que telas modernas renderizem destaques com mais impacto. Quando você achata para JPEG, perde os três.
Por Que o WordPress Rejeita HEIC por Padrão?
Antes do WordPress 6.7, jogar um arquivo .heic na Biblioteca de Mídia disparava a temida mensagem "Desculpe, este tipo de arquivo não é permitido por motivos de segurança". A razão não é realmente segurança no sentido de malware. É uma whitelist.
O WordPress valida cada upload através de wp_check_filetype_and_ext(), que compara a extensão e o tipo MIME contra a lista codificada em get_allowed_mime_types(). Se a combinação não estiver na lista, o upload é rejeitado antes de chegar à Biblioteca de Mídia. O enquadramento de "segurança" existe porque permitir tipos arbitrários de arquivos poderia deixar um atacante enviar um executável disfarçado de imagem, mas, na prática, o filtro é apenas uma lista de permissões estrita.
Para o HEIC, o problema histórico era duplo. Primeiro, image/heic não estava na lista padrão. Segundo, mesmo se você forçasse com um filtro, as bibliotecas de imagem PHP subjacentes (GD e ImageMagick) não conseguiam decodificar o formato na maioria dos servidores. O WordPress estava sendo honesto ao rejeitar: não adianta aceitar um arquivo que o sistema não consegue processar. O WordPress 6.7 corrigiu ambas as peças adicionando image/heic e image/heif à lista de permissões e ensinando as classes do editor de imagens a despachar HEIC para o ImageMagick quando libheif estiver disponível.
Suporte HEIC no WordPress 6.7: O Que Mudou
Antes da 6.7, a solução alternativa era converter cada foto para JPEG antes de fazer upload (tedioso) ou adicionar um trecho de código ao functions.php para colocar o tipo MIME na whitelist (arriscado se seu servidor realmente não pode processar o arquivo). Vi ambas as abordagens quebrarem sites de maneiras sutis: a abordagem da whitelist causa miniaturas quebradas, e a abordagem de conversão manual perde metadados silenciosamente.
O WordPress 6.7 adicionou HEIC à lista de tipos de arquivo permitidos e incluiu suporte básico para gerar miniaturas a partir de arquivos HEIC. Se seu servidor tem ImageMagick compilado com suporte HEIF (ou libheif para GD), o WordPress agora pode lidar com HEIC nativamente.
Esse é um grande "se".
Onde funciona
A maioria dos provedores modernos de hospedagem gerenciada (Cloudways, Kinsta, SiteGround em sua infraestrutura mais nova) tem ImageMagick com suporte HEIF. Se você está em um desses hosts com WordPress 6.7 ou posterior, uploads de HEIC devem simplesmente funcionar.
Onde não funciona
Hospedagem compartilhada em infraestrutura mais antiga é um tiro no escuro. Muitos hosts econômicos rodam versões antigas do ImageMagick que não incluem suporte HEIF. O upload pode ser bem-sucedido (o arquivo chega ao servidor), mas o WordPress não consegue gerar miniaturas. Você acaba com um arquivo HEIC em tamanho real na sua Biblioteca de Mídia e marcadores de posição de miniatura quebrados em todos os lugares.
Não há mensagem de erro clara quando isso acontece. A Biblioteca de Mídia apenas mostra um ícone genérico em vez de uma prévia. Tive clientes relatando isso como "minhas fotos não estão sendo enviadas" quando, na verdade, as fotos foram enviadas bem, apenas pareciam quebradas no admin. Se você quer um passo a passo mais profundo de como a Biblioteca de Mídia deve se comportar quando tudo funciona, veja meu guia da Biblioteca de Mídia do WordPress.
Suporte HEIC por Provedor de Hospedagem: Tabela Comparativa
Passei um fim de semana testando o mesmo arquivo HEIC do iPhone em cinco grandes hosts para ver quais o processavam corretamente versus quais quebravam silenciosamente as miniaturas. Resultados abaixo, atuais até o início de 2026.
| Host | Upload HEIC Aceito | Miniaturas Geradas | ImageMagick + libheif | Notas |
|---|---|---|---|---|
| Kinsta | Sim | Sim | Sim (ImageMagick 7 + libheif) | Experiência mais limpa. AVIF também funciona. |
| Cloudways (Vultr/DO) | Sim | Sim | Sim | Depende da versão da stack. Servidores mais novos funcionam bem. |
| WP Engine | Sim | Sim | Sim | Suporte HEIC nativo adicionado na atualização da plataforma em 2024. |
| SiteGround | Sim | Parcial | Misto | Planos mais novos funcionam. Ambientes compartilhados antigos falham nas miniaturas. |
| Bluehost (compartilhado) | Sim | Não | Não (ImageMagick antigo) | Upload completa, mas miniaturas quebradas. Converta antes do upload. |
O padrão é óbvio: hosts WordPress gerenciados premium investiram em bibliotecas de imagem modernas, enquanto hospedagens compartilhadas econômicas ainda rodam stacks antigas onde o suporte HEIC é, na melhor das hipóteses, irregular. Se você está no Bluehost compartilhado ou em um provedor de preço similar e o HEIC importa para seu fluxo de trabalho, é melhor converter antes do upload do que brigar com o servidor.
Como Verificar se Seu Servidor Suporta HEIC
Vá em Ferramentas > Saúde do Site > Informações > Manipulação de Mídia no seu admin do WordPress. Procure pela versão do ImageMagick e pelos formatos suportados. Se você ver "HEIC" ou "HEIF" na lista, está bem.
Se você não ver, ou se está usando GD em vez de ImageMagick, miniaturas HEIC não serão geradas. Você tem duas opções: pedir ao seu provedor de hospedagem para atualizar o ImageMagick, ou converter suas fotos antes de enviar.
A Armadilha do "Converter Antes do Upload"
"Apenas converta seus arquivos HEIC para JPEG primeiro" é o conselho mais comum em fóruns do WordPress. Soa razoável. Também é uma das piores coisas que você pode fazer se a qualidade da imagem importa, porque o caminho de conversão padrão no iPhone é com perdas de maneiras que a maioria das pessoas não percebe.
Eis o que acontece quando você deixa o iOS converter automaticamente HEIC para JPEG (o caminho AirDrop-para-Windows, o caminho do anexo Mail Drop, o caminho da folha de compartilhamento para a maioria dos apps):
- Compressão de gama de cores. O HEIC original é armazenado em Display P3, um espaço de cor cerca de 25% maior que sRGB. A exportação JPEG é fixada em sRGB. Vermelhos, laranjas e verdes saturados ficam visivelmente achatados.
- Redução da profundidade de bits. O HEIC armazena cor de 10 bits (1024 valores por canal). O JPEG é travado em 8 bits (256 valores). Gradientes suaves de céu podem desenvolver bandas visíveis após a conversão.
- Perda do mapa de ganho HDR. O iOS incorpora um mapa de ganho HDR junto com os dados de pixel SDR para que telas capazes possam renderizar destaques mais brilhantes. O JPEG não tem equivalente. Detalhes de sombra e destaque são esmagados durante a exportação.
- Remoção de EXIF (às vezes). Dependendo de qual app faz a conversão, coordenadas GPS, informações da lente e configurações da câmera podem ser descartadas. Se você depende de metadados para organização ou geotagging, verifique antes de converter em massa.
- Inflação do tamanho do arquivo. A razão de existir do HEIC é a compressão. Um HEIC de 3MB tipicamente incha para 6-8MB como JPEG na qualidade 85, dobrando seu uso de armazenamento.
A armadilha é que todas essas perdas são invisíveis no tamanho de miniatura. Você só nota quando alguém dá zoom, ou imprime, ou visualiza a imagem em uma tela de gama ampla. Aí já é tarde, o JPEG é o arquivo que você tem.
Uma abordagem mais inteligente é converter no momento da publicação, com uma ferramenta que preserva o que importa e achata apenas o que o WordPress precisa achatado. Essa é a restrição de design por trás de toda ferramenta dedicada de upload que vale a pena usar.
O Problema da Conversão no Próprio iPhone
Converter HEIC para JPEG antes do upload soa simples. Em um laptop, é. O Preview no macOS pode converter arquivos em lote em segundos. No Windows, o app Fotos lida com isso.
No iPhone, é uma história diferente. Não há conversor em lote integrado. Você pode mudar suas configurações de câmera para fotografar em JPEG em vez de HEIC (Ajustes > Câmera > Formatos > Mais Compatível), mas então você perde a vantagem de tamanho de arquivo de 40-50% em todas as fotos que tira, não apenas nas que vão para o WordPress.
Algumas pessoas usam o app Atalhos para construir um conversor HEIC-para-JPEG. Funciona, mas é mais um passo manual no seu fluxo de trabalho, e os arquivos convertidos são maiores. Você está trocando um problema por outro.
O verdadeiramente irritante é que seu iPhone já lida com essa conversão automaticamente em algumas situações. Quando você envia uma foto por e-mail ou faz AirDrop para um PC com Windows, o iOS converte para JPEG na hora. Mas quando você faz upload através de um navegador ou do app WordPress, ele envia o arquivo HEIC original. Não há configuração para mudar esse comportamento para uploads. Se você frequentemente envia 10-20 fotos por vez do iPhone para o WordPress, dê uma olhada nas minhas notas sobre upload em massa de imagens de um celular para técnicas que sobrevivem às peculiaridades do iOS.
O Que o SnapPress Faz com HEIC
Quando construí o SnapPress, a manipulação de HEIC foi uma das primeiras coisas que tive que descobrir. A abordagem é direta: o app lê seu arquivo HEIC original, converte-o para JPEG localmente no seu iPhone antes do upload, e envia o JPEG para o WordPress.
Isso significa que funciona com qualquer site WordPress, independentemente da configuração do servidor. Seu host não precisa de suporte HEIF no ImageMagick. O WordPress não precisa estar na versão 6.7. O arquivo que chega ao seu servidor é um JPEG padrão que toda instalação WordPress desde a versão 1.0 pode lidar.
A conversão acontece no dispositivo e leva uma fração de segundo por foto. Você não vê. Você não configura. Você seleciona suas fotos, toca em upload, e arquivos JPEG aparecem em sua Biblioteca de Mídia com miniaturas, prévias e tudo funcionando corretamente.
Essa é a abordagem "certa"? Depende do que você se importa. Se você quer o menor tamanho de arquivo absoluto, enviar HEIC nativo para um servidor que o suporta é tecnicamente melhor. Se você quer algo que funciona em qualquer site WordPress sem verificar configurações de servidor, a conversão automática é a aposta mais segura. Comparei alguns apps iOS concorrentes na minha lista dos melhores apps de upload de fotos para WordPress se você quer ver como o SnapPress se compara às alternativas.
Escolhi confiabilidade em vez de otimização teórica. Na minha experiência, a maioria dos usuários do WordPress não sabe ou se importa com a versão do ImageMagick que seu host está rodando. Eles só querem que suas fotos apareçam.
E Quanto ao Jetpack e ao App Móvel do WordPress?
O app móvel oficial do WordPress (que se apoia no Jetpack para muitas funcionalidades) lidou com HEIC de forma inconsistente ao longo dos anos. Versões recentes convertem HEIC para JPEG antes do upload, similar ao que o SnapPress faz, mas a conversão passa pelo pipeline de processamento de imagem do Jetpack, o que significa que você precisa de uma conexão Jetpack e uma conta WordPress.com ativa vinculada ao seu site.
Isso funciona bem se você já está usando o Jetpack. É frustrante se não está, porque o app às vezes se recusa a fazer upload sem a conexão. Escrevi um guia separado sobre enviar fotos para o WordPress sem o Jetpack para leitores que querem uma stack mais enxuta. A versão curta: se o Jetpack não faz parte do seu fluxo de trabalho, use um app de terceiros que conversa diretamente com a REST API do WordPress. Você pula a dependência do WordPress.com inteiramente.
O Outro Formato Que Você Vai Encontrar: HEIF e AVIF
O HEIC é tecnicamente um formato contêiner que envolve imagens HEIF. Você às vezes verá arquivos com a extensão .heif em vez de .heic. O WordPress 6.7 lida com ambos da mesma forma.
O AVIF é um formato mais novo que está ganhando força na web (é o que a Netflix e muitas CDNs usam para entrega de imagens). O WordPress adicionou suporte ao AVIF na versão 6.5. Alguns iPhones mais novos podem tirar fotos em AVIF, embora ainda não seja o padrão.
Por enquanto, HEIC é com o que você vai lidar 99% do tempo se está fazendo upload de fotos do iPhone. Mas mantenha o AVIF no seu radar. Ele oferece compressão ainda melhor que o HEIC e tem suporte multiplataforma mais amplo.
AVIF no iPhone 16: O Que Vem a Seguir
O iPhone 16 vem com suporte completo a AVIF em todo o iOS 18: o Fotos lê arquivos AVIF, o Safari os renderiza inline, e a folha de compartilhamento os trata como cidadãos de primeira classe. A câmera ainda usa HEIC por padrão, mas o pipeline de renderização e decodificação agora é AVIF-aware de ponta a ponta.
O WordPress está pronto. A versão 6.5 adicionou image/avif aos tipos MIME permitidos em março de 2024, e a 6.7 expandiu a lógica de processamento de imagem para que arquivos AVIF gerem miniaturas adequadas. Se seu servidor tem uma compilação recente do ImageMagick com libavif, todo o pipeline funciona sem configuração.
Por que o AVIF importa para publicadores: ele comprime cerca de 20% menor que o HEIC com qualidade perceptual equivalente e 50% menor que JPEG. Funciona em todos os navegadores modernos (Chrome, Firefox, Safari, Edge), ao contrário do HEIC, que nunca teve suporte universal de navegadores. E é livre de royalties graças ao AV1, enquanto o HEIC fica em cima do licenciamento de patentes emaranhado do HEVC.
A diferença prática: HEIC é um formato de captura com o qual você briga na entrada, AVIF é um formato de entrega que você serve aos visitantes na saída. A maioria dos fluxos de trabalho acaba com originais HEIC da câmera, intermediários JPEG ou AVIF na Biblioteca de Mídia, e AVIF servido aos navegadores via uma CDN ou plugin como o ShortPixel. É improvável que a Apple mude o padrão da câmera para AVIF até que o ProRAW e o Live Photos sejam migrados, o que é um projeto plurianual. Otimize seu manuseio de HEIC de entrada agora e deixe sua CDN cuidar do AVIF na entrega.
Minha Recomendação
Se sua hospedagem suporta HEIC (verifique em Saúde do Site) e você está no WordPress 6.7+, faça upload de arquivos HEIC diretamente. Aproveite os tamanhos menores de arquivo.
Se sua hospedagem não suporta HEIC, ou você gerencia múltiplos sites em hosts diferentes e não quer verificar cada um, use uma ferramenta que converte para você. O SnapPress faz isso automaticamente. O plugin SnapPress Connect lida com a conexão do site, e o app lida com a conversão de formato nos bastidores.
Não mude o formato da câmera do seu iPhone para JPEG só porque o WordPress te deu trabalho uma vez. HEIC é o formato melhor. A ferramenta de upload deve se adaptar, não suas configurações de câmera.