O que é o formato de arquivo APNG?

O PNG animado, ou APNG, estende o PNG com múltiplos quadros, temporização de quadros e repetição. Ele mantém pixels com cores completas e transparência alfa em vez de usar o modelo de paleta restrita do GIF.

Como funciona o formato de arquivo APNG

O PNG animado começou como uma extensão da Mozilla e passou a fazer parte da especificação oficial do PNG na terceira edição, uma recomendação do W3C desde junho de 2025. Um fluxo APNG é um fluxo PNG normal com mais três tipos de blocos: acTL declara a animação e informa o número de quadros e de reproduções (0 significa repetir indefinidamente), fcTL descreve um quadro e fdAT transporta dados de quadros na mesma forma de IDAT, precedidos por um número de sequência. Cada quadro é comprimido sem perdas e usa a mesma profundidade de bits, o mesmo tipo de cor e a mesma paleta da imagem estática, portanto um APNG pode usar cores verdadeiras com canal alfa completo ou ser baseado em paleta. Um quadro pode cobrir apenas parte da tela: seu bloco fcTL informa largura, altura e deslocamento dentro das dimensões da imagem.

Informações essenciais

  1. Não é possível distinguir um APNG de um PNG pela assinatura ou, na prática, pelo nome. Ambos começam com os mesmos oito bytes e, embora image/apng e .apng sejam registrados, a MDN também lista .png como extensão de APNG. O que identifica um arquivo como animado é um bloco acTL antes do primeiro bloco IDAT. Para encontrá-lo, percorra os blocos após a assinatura: cada um começa com um comprimento de dados de quatro bytes e um tipo de quatro bytes, seguidos pelos dados e por um CRC de quatro bytes.
  2. Um decodificador sem suporte a APNG ignora os blocos de animação e exibe a imagem estática. Essa imagem só é o primeiro quadro da animação quando um bloco fcTL precede IDAT; caso contrário, ela nem sequer faz parte da animação. A especificação PNG alerta que um arquivo pode combinar uma imagem estática sem relação com sua animação e que isso pode ser usado para contornar a moderação, portanto revise os quadros da animação ou gere miniaturas deles, em vez de considerar apenas a imagem estática.
  3. Os quadros são instruções para atualizar uma tela, nem sempre imagens completas. Cada bloco fcTL define dispose_op (manter a região, limpá-la para preto transparente ou restaurar o conteúdo anterior) e blend_op (substituir a região ou fazer composição alfa sobre ela). Uma ferramenta que copie os dados de um quadro como uma imagem independente ou recodifique quadros sem aplicar essas regras pode gerar imagens parciais ou com composição incorreta. Os intervalos são frações de segundo (delay_num dividido por delay_den, com denominador zero interpretado como 100); um numerador zero solicita o próximo quadro o mais rápido possível, e os visualizadores podem impor um limite mínimo.
  4. A leitura de todos os quadros costuma exigir uma opção explícita. A lista de formatos do ImageMagick diz que um APNG precisa ser lido com um prefixo apng: explícito; caso contrário, ele “presume uma imagem PNG e lê apenas o primeiro quadro”, e diz que ffmpeg precisa estar no caminho de busca. Lido como um PNG comum, o arquivo fornece sua imagem estática conforme a especificação PNG, portanto esse “primeiro quadro” não faz necessariamente parte da animação. O sharp tem uma solicitação de recurso em aberto para APNG e um relato de usuário de que apenas o primeiro quadro foi redimensionado. O desmultiplexador APNG do FFmpeg ignora o número de repetições do arquivo por padrão (-ignore_loop), e seu multiplexador define a repetição com -plays, em que 0 repete indefinidamente.

Quando o formato de arquivo APNG é relevante

Use APNG para animações curtas de interface, figurinhas e indicadores de carregamento que precisem de cores de 24 bits ou de um canal alfa de 8 bits, recursos que a cor indexada de 8 bits e o único índice de cor transparente do GIF não podem oferecer. O APNG permite apenas compressão sem perdas, portanto espere arquivos grandes para animações fotográficas ou longas; o guia de formatos da MDN classifica AVIF e WebP como mais eficientes, mas com suporte menos amplo. As versões atuais do Chrome, Edge, Firefox, Opera e Safari exibem APNG, e softwares sem suporte a APNG exibem a imagem estática do arquivo.

Como a Transloadit ajuda com o formato de arquivo APNG

A tabela de formatos de imagem da Transloadit lista APNG como um formato que seus Robots baseados no ImageMagick, incluindo /image/resize, podem ler e gravar, e sua tabela de formatos de áudio/vídeo lista um formato apng que Robots baseados no FFmpeg, como /video/encode, podem ler e gravar.

As tabelas informam o que cada stack pode ler e gravar, não se a animação é preservada em um determinado Step. A documentação de /image/resize descreve seus parâmetros frame e flatten apenas para GIF animado e não diz como um APNG chamado .png é tratado. Nenhuma Assembly foi executada para este verbete, portanto processe um APNG representativo na sua Assembly e verifique o número de quadros do resultado.

Explore os formatos de arquivo e os recursos de compressão da Transloadit

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente