Ir para o conteúdo

DDS para PNG

Uma textura tirada do pacote do jogo, sem a engine.

DDS para PNG é o jeito mais rápido de ver o que uma textura tem sem antes instalar um plugin para isso. Uma pasta cheia delas passa de uma vez, salva uma a uma ou tudo junto como um ZIP. A decodificação roda nesta aba, na sua própria máquina, então nada é enviado.

O arquivo nunca sai desta aba. Ler o arquivo, decodificá-lo e escrever o resultado acontecem todos na sua máquina, e você pode comprovar isso desligando a rede e usando a ferramenta mesmo assim.

A ferramenta

Solte uma imagem aqui

Ou cole uma, ou escolha um arquivo. Várias de uma vez, sem problema.

A conversão acontece na sua máquina, nesta aba, e é por isso que ela precisa de JavaScript para acontecer. Não existe aqui um servidor que pudesse fazer isso no lugar.

Esta conversão

Dados comprimidos em blocos, e canais que não são cor.

O DDS é o DirectDraw Surface da Microsoft, um invólucro em torno de dados que a GPU consegue amostrar sem decodificar antes. O que esta página lê é a compressão em blocos mais antiga, de BC1 a BC5, que é a mesma coisa que DXT1 a DXT5 e que as grafias ATI1 e ATI2: blocos de quatro por quatro, cada um guardando um par de cores de extremidade e um índice por pixel na linha entre elas, normalmente seguidos por uma cadeia de mipmaps com metade do tamanho. Superfícies simples sem compressão de 8, 16, 24 e 32 bits também passam. As ferramentas de modding entregam esses arquivos sem alteração, e um visualizador de texturas abre um deles onde quase nenhum outro programa abre.

O PNG decodifica em pixels de verdade que qualquer editor e qualquer navegador abrem, e nada mais se perde depois que ele é gravado. BC6H e BC7 são a lacuna, ambos recusados pelo nome em vez de adivinhados, então uma textura de um jogo recente pode não passar de jeito nenhum. Espere que algumas das que passam pareçam erradas sem estar: um mapa de normais sai lilás e uma máscara empacotada parece ruído, já que nenhum dos dois canais carregava cor, e um alfa que guarda uma máscara de brilho ou de recorte faz o PNG parecer transparente. Reempacotar para a engine é trabalho para as ferramentas do próprio jogo; esta página lê DDS, não escreve.

Para onde o arquivo vai

Para lugar nenhum.

A maioria dos conversores que você encontra numa busca é um formulário de upload. Você entrega o arquivo, um servidor converte, e você acredita na palavra deles de que a cópia foi apagada. Nada na conversão de uma imagem exige nada disso, então aqui não é assim.

  • Não existe servidor

    A página não faz nenhuma requisição enquanto converte. Não há chamada a fetch, XMLHttpRequest, WebSocket, EventSource ou sendBeacon em nenhuma parte do conversor, e nada é gravado em cookies, armazenamento local, armazenamento de sessão ou banco de dados.

  • Os metadados são removidos

    Uma foto de telefone carrega as coordenadas de onde você estava, o segundo exato em que você a tirou e a câmera que a tirou. Isso é removido por padrão, e o resultado diz o que havia ali, para que a escolha seja sua em vez de uma surpresa.

  • Você mesmo pode conferir

    Desligue a rede e converta alguma coisa. Funciona. A versão em arquivo único mais abaixo nesta página vai um passo além: você baixa uma vez e abre do seu próprio disco, sem conexão nenhuma.

  • Dá para ler o código

    O conversor é um pacote de código aberto separado, sem dependências em tempo de execução, publicado sob a licença MIT. A afirmação de privacidade é uma propriedade de um código que você pode ler, e não uma promessa que você tem que aceitar.

Formatos

O que entra, e o que sai.

Os comuns estão aqui porque as pessoas precisam deles. Os complicados estão aqui porque quem tem um TIFF escaneado, um arquivo do Photoshop ou uma pasta de arquivos raw de câmera não tem para onde ir que não peça um envio antes.

Leitura

HEIC e HEIF, PNG, APNG, JPEG, JPEG XL, WebP, AVIF, GIF, BMP, ICO, TIFF, Photoshop PSD e PSB, raw de câmera, DDS, Radiance HDR, OpenEXR, PCX, conjuntos Apple icon, Sun raster, XBM, XPM, QOI, TGA, PNM e farbfeld, além de SVG renderizado pelo navegador. O formato é descoberto pelos bytes, e não pelo nome do arquivo, porque uma foto compartilhada por um app de mensagens costuma chegar com o nome image.jpg e HEIC dentro.

Escrita

PNG, APNG, JPEG, WebP, AVIF, GIF, TIFF, BMP, ICO, conjuntos de ícones da Apple, PCX, Sun raster, XBM, XPM, Radiance HDR, OpenEXR, QOI, TGA, PNM e farbfeld. WebP não está disponível no Safari, que nunca soube escrevê-lo, e AVIF precisa de um navegador com codificador AV1, como Chrome e Edge. Nos dois casos a ferramenta avisa, em vez de entregar um PNG com o nome errado.

As animações mantêm os quadros

Um GIF animado convertido para APNG mantém todos os quadros, e o caminho inverso também. Converter um deles para um formato estático mantém o primeiro quadro e avisa que foi isso que aconteceu, em vez de descartar o resto sem dizer nada.

Fotos HDR continuam HDR

Uma foto HDR de celular é uma imagem comum mais uma segunda, menor, dizendo quanto cada parte deve clarear. Converta para AVIF e as duas vão para o arquivo, junto com os ajustes que as ligam, copiados como estão em vez de recalculados. Converta para qualquer outra coisa e você recebe a imagem em faixa padrão com um aviso. Radiance HDR e OpenEXR são outro assunto e mantêm toda a faixa entre si.

Raw de câmera, descrito com honestidade

Um arquivo raw guarda os dados do sensor, que um editor de fotos revela em uma imagem, e não é isso que esta ferramenta faz. O que ela faz é extrair o JPEG em tamanho real que a própria câmera gerou e guardou dentro do arquivo, que é o que você quer quando precisa tirar uma foto de um CR2 ou de um NEF e não quer abrir nada pesado.

O PNG é escrito aqui, não pelo navegador

O que significa que ele descarta o canal de transparência quando não há transparência nenhuma, embute o perfil de cor original e não tem limite de tamanho em que esbarrar. Em uma foto de telefone, sai menor do que o navegador consegue.

Ícones e favicons

Um ICO não é uma imagem só. É um pequeno diretório que guarda a mesma imagem em vários tamanhos, para que o navegador possa pegar a de 16 pixels para a aba e a de 32 pixels para o favorito, que é o que um favicon é. Esta ferramenta escreve entradas de 256, 128, 64, 48, 32 e 16 pixels, e 256 é onde um ICO para, porque o diretório registra cada lado em um único byte. Um conjunto de ícones da Apple (ICNS) é escrito do mesmo jeito e vai até 1024, levando tanto a versão comum quanto a versão retina de todo tamanho que tem as duas. Comece de algo quadrado: cada espaço é um quadrado, então uma fotografia em paisagem volta centralizada em um deles, com transparência dos dois lados.

O que ele não faz

Ele não escreve HEIC. Nenhum navegador consegue, e o codificador tem patentes que uma ferramenta gratuita não tem como resolver. Ele lê Photoshop e DDS sem escrevê-los, porque ler um arquivo que a pessoa já tem é útil e escrever um mal feito é um arquivo que ela descobre errado um mês depois. O AVIF sai com oito bits por canal, porque nenhum navegador codifica AV1 de dez bits, então não há saída PQ nem HLG. Uma foto HDR não precisa disso, e por isso sobrevive mesmo assim.

O caso difícil

Um HEIC não é uma imagem só. São dezenas.

A maioria dos formatos é uma imagem com um cabeçalho na frente, e converter um deles não tem nada de notável. O HEIC é a exceção, e vale a pena percorrê-lo porque é o formato que mais provavelmente trouxe você até aqui. É compressão de vídeo aplicada a uma imagem parada, embrulhada no mesmo contêiner que um MP4 usa, e a parte interessante é que um navegador consiga lê-lo: ele já tem o decodificador.

  1. 01O arquivo é um contêiner, do mesmo tipo que um MP4 usa. Dentro dele há uma lista de itens: a imagem, uma miniatura, os metadados da câmera e, em um iPhone recente, uma camada extra para alta faixa dinâmica.
  2. 02A imagem em si é uma grade de blocos de 512 por 512. Uma foto de doze megapixels tem 48 deles, dispostos oito na horizontal e seis na vertical, e uma de 48 megapixels tem quase duzentos. Um leitor que espera uma única imagem não encontra nada que possa usar.
  3. 03Cada bloco é comprimido do jeito que um quadro de vídeo é. A ferramenta tira os blocos de lá e os entrega ao decodificador de vídeo embutido no seu navegador, que na maioria das máquinas é uma peça de hardware dedicada, então leva um instante em vez de um minuto.
  4. 04A grade é preenchida até completar blocos inteiros, então ela fica maior que a foto. As dimensões reais são registradas à parte, e o preenchimento é recortado depois.
  5. 05A rotação é guardada ao lado da imagem em vez de aplicada a ela. Toda foto vertical tirada com um telefone é guardada deitada, e é por isso que um conversor que ignora isso devolve uma imagem virada de lado.
  6. 06Uma foto do iPhone está em Display P3, uma faixa de cor mais ampla que o sRGB que a maioria dos arquivos assume. A ferramenta lê em qual dos dois o arquivo está e leva o perfil de cor junto, para que o resultado não saia apagado.

Por que alguns navegadores precisam de ajuda

O Safari lê HEIC sozinho. O Chrome e o Edge expõem o decodificador de vídeo necessário sempre que a máquina tem o hardware, o que é o caso da maioria. O Firefox não oferece nem uma coisa nem outra. Nesses casos, esta página carrega um decodificador por software, que funciona em todo lugar e é mais lento, e o resultado avisa quando isso aconteceu, para que uma conversão lenta fique explicada em vez de misteriosa.

Offline

O mesmo conversor, como um único arquivo no seu próprio disco.

Salve este documento, desconecte, e ele continua convertendo suas imagens. Tudo o que ele executa está escrito dentro do arquivo, então não há servidor a alcançar e não existe versão dele que possa mudar depois que você salvou.

O arquivo

Versão autônoma

O conversor e a interface dele em um documento HTML só. Entram vinte e seis formatos, e ele não carrega dependência de tempo de execução de nenhum tipo.

Licença
MIT
Baixar na página de releases
  • O script e a folha de estilos estão escritos dentro da página

    A build compila o conversor, minifica a folha de estilos e escreve os dois no corpo do documento. Nada é buscado, porque não sobrou nada para buscar. É também por isso que um documento desses é mais pesado que uma página comum: o que você tem é o programa em si, e não um ponteiro para ele.

  • O arquivo não roda código que não veio com ele

    A build calcula o hash do script e da folha de estilos exatamente como eles ficaram no documento e escreve os dois hashes em uma Content-Security-Policy no próprio head do arquivo. A mesma política define connect-src como none, então o documento não tem permissão nenhuma para abrir uma conexão de rede. Mude um caractere do script e ele para de rodar, porque o hash dele deixa de bater.

  • Não há código de rede para desligar

    O conversor não chama fetch, XMLHttpRequest, WebSocket, EventSource nem sendBeacon em lugar nenhum, e não grava em cookie, armazenamento local, armazenamento de sessão nem banco de dados. Um teste do pacote lê o arquivo construído e reprova o release se qualquer um deles aparecer, então isso é verificado a cada build em vez de prometido uma vez.

  • Ele não se atualiza sozinho

    É este o preço do arranjo, e vale dizer sem rodeio. Um arquivo no seu disco continua como estava no dia em que você o salvou. Quando o conversor ganha um formato ou conserta uma decodificação, a sua cópia não ganha nada. Volte aqui e baixe de novo, conferindo o novo SHA-256 contra o que está publicado nesta página.

Antes de abrir

Confira que você recebeu o que publicamos.

Um arquivo que roda um programa na sua máquina merece um minuto de desconfiança. Calcule o hash da cópia que você baixou e compare com o digest publicado para aquele arquivo, caractere por caractere.

macOS e Linux

shasum -a 256 private-image-converter.html

Windows

certutil -hashfile private-image-converter.html SHA256

O workflow que constrói o arquivo registra o SHA-256 dele no release que publica. É esse o número a comparar, e ele é registrado pela máquina que produziu os bytes, em vez de digitado depois.

Se não baterem

Não abra o arquivo. Uma diferença costuma ser um download interrompido e, de vez em quando, algo pior. Apague e baixe de novo. Se a segunda cópia também não bater, abra uma issue no repositório em vez de contornar o problema.

Comprovando a afirmação de que funciona offline

Todo conversor da web diz que não envia nada. Este aqui qualquer pessoa consegue verificar, na própria máquina, sem ler uma linha do código.

  1. 01Salve o arquivo em algum lugar comum. A sua pasta de downloads serve.
  2. 02Desligue a rede de verdade. Modo avião, ou tire o cabo e desligue o wi-fi.
  3. 03Abra o arquivo. A barra de endereços mostra um endereço file://, o que significa que o navegador o carregou do seu disco e de nenhum outro lugar.
  4. 04Converta uma foto. Funciona, na velocidade de sempre, sem ter para onde mandá-la.
  5. 05Reconecte e faça de novo com o painel de rede das ferramentas de desenvolvedor aberto. Ele continua vazio.

O limite

O arquivo offline não consegue ler HEIC no Firefox.

Um HEIC é um quadro de vídeo HEVC dentro de um contêiner. O conversor lê o contêiner por conta própria e entrega a imagem a quem consiga decodificar HEVC na máquina. O Safari decodifica HEIC direto. O Chrome e o Edge expõem o decodificador embutido no hardware de vídeo do seu computador, que a maioria das máquinas tem. O Firefox não expõe nem uma coisa nem outra.

Fechar essa lacuna exige um decodificador HEVC por software, e não há como escrever um dentro do arquivo sem assumir uma dependência. A versão offline não tem nenhuma, de propósito, e é isso que permite que ela seja um documento único com um hash que você pode conferir. Então, no Firefox, ela recusa um HEIC com uma frase explicando o motivo, e nenhuma configuração muda isso.

O conversor no topo desta página dá conta. Este site carrega um decodificador por software como um arquivo separado assim que constata que o navegador não tem outro caminho, e isso é algo que um documento único não consegue fazer.

O que o Firefox faz

Todo o resto. PNG, JPEG, WebP, TIFF, Photoshop, raw de câmera, OpenEXR, Radiance HDR e os demais convertem no Firefox a partir do arquivo offline. HEIC é o único formato que depende de um decodificador que o Firefox não tem.

Por que a licença tem uma linha só

Esse limite visto do outro lado. O arquivo é o pacote do conversor e sua interface, ambos sob licença MIT, compilados em um único documento, e não há nenhuma biblioteca de terceiros dentro dele, então o aviso da MIT cobre o artefato inteiro. O decodificador HEIC por software que este site carrega é LGPL-3.0, e fundir uma biblioteca sob essa licença em um único documento minificado imporia obrigações a todo mundo que repassasse o arquivo. Manter essa versão livre de dependências é o que garante a licença curta.

Detalhe

Os detalhes concretos.

Medido nas versões atuais do Chrome, do Firefox e do Safari. Nada aqui é uma afirmação sobre versões futuras.

Execução
Inteiramente na aba do navegador. Não há componente de servidor.
Entrada
HEIC, HEIF, PNG, APNG, JPEG, JPEG XL, WebP, AVIF, GIF, BMP, ICO, TIFF, PSD, raw de câmera, DDS, HDR, OpenEXR, PCX, ICNS, Sun raster, XBM, XPM, QOI, TGA, PNM, farbfeld, SVG.
Saída
PNG, APNG, JPEG, WebP, AVIF, GIF, TIFF, BMP, ICO, ICNS, PCX, Sun raster, XBM, XPM, HDR, OpenEXR, QOI, TGA, PNM, farbfeld. WebP não está disponível no Safari; AVIF precisa de um codificador AV1.
Limites
80 megapixels por imagem, mais ou menos 10.000 por 8.000 pixels; acima disso, uma aba do navegador fica sem memória antes de terminar. Um telefone pode parar antes: a ferramenta pergunta ao navegador se ele consegue segurar uma superfície de desenho daquele tamanho e avisa quando a resposta é não. Não há limite em bytes, porque nada é enviado.
Suporte a HEIC
O Safari lê diretamente. O Chrome e o Edge leem onde a máquina tem decodificação de vídeo por hardware. Todo o resto usa um decodificador por software que esta página carrega sob demanda.
Cor
O Display P3 é detectado arquivo a arquivo e preservado quando a saída consegue carregá-lo. A alta faixa dinâmica é achatada para a faixa padrão.
Metadados
Removidos por padrão, incluindo localização, data e hora. Mantê-los é uma escolha que você faz a cada conversão.
Rede
Nenhuma durante a conversão. Sem fetch, XMLHttpRequest, WebSocket, EventSource ou sendBeacon em nenhuma parte do conversor.
Armazenamento
Nenhum. Sem cookies, armazenamento local, armazenamento de sessão, banco de dados ou cache.
Offline
Sim. Uma versão de arquivo único roda do seu próprio disco com a rede desligada.
Verificação
SHA-256, publicado junto com o arquivo e registrado de novo pelo release que o construiu.
Dependências
Nenhuma em tempo de execução. O decodificador HEIC por software que esta página pode carregar é um arquivo opcional separado.
Licença
MIT

Perguntas que valem a pena.

A minha foto é enviada para algum lugar?
Não. A conversão roda no seu navegador e o arquivo nunca sai da sua máquina. Não há servidor para recebê-lo. O jeito mais simples de se convencer é desligar a rede e converter alguma coisa mesmo assim.
Qual é a diferença entre isto e os outros conversores que eu achei?
A maioria deles é um formulário de upload. Seu arquivo vai para um servidor, é convertido lá e apagado depois, ou pelo menos é o que dizem. Esta ferramenta faz a conversão na sua própria máquina, o que elimina a questão por completo.
O que ele consegue ler e escrever?
Ele lê vinte e seis formatos: HEIC e HEIF, PNG e APNG, JPEG, JPEG XL, WebP, AVIF, GIF, BMP, ICO, TIFF, Photoshop PSD e PSB, raw de câmera da maioria dos fabricantes, DDS, Radiance HDR, OpenEXR, PCX, conjuntos de ícones da Apple, Sun raster, XBM, XPM, QOI, TGA, PNM e farbfeld, além de SVG. Escreve vinte deles. Photoshop, DDS, raw de câmera e SVG são somente leitura, WebP não pode ser escrito no Safari e AVIF precisa de um navegador com codificador AV1.
Devo converter para PNG ou JPG?
PNG para uma cópia que você vai guardar ou editar. Ele é sem perdas, então o que sai é exatamente a imagem que entrou, e o arquivo costuma ser várias vezes maior. JPEG, que é o mesmo formato que JPG, para uma imagem que você vai enviar para alguém: ele comprime de novo, então o arquivo fica pequeno e um pouco de detalhe se perde de vez. WebP e AVIF são menores ainda na mesma qualidade, e menos programas os abrem. Se a imagem vai para algum lugar que você não controla, JPG é o que sempre funciona.
Converter perde qualidade?
Converter para PNG não perde: ele é sem perdas, então o resultado é exatamente a imagem que entrou. Converter para JPEG, WebP ou AVIF comprime de novo, o que perde um pouco, e o controle deslizante de qualidade define quanto.
O que acontece com a localização e a data?
São removidas, a menos que você marque a caixa para mantê-las. Cada resultado lista o que foi retirado, para você ver o que o original carregava. Isso importa mais do que parece: uma foto tirada em casa tem o seu endereço dentro dela.
O que é HEIC, e por que nada abre esse formato?
HEIC é o formato em que o iPhone salva as fotos por padrão. Ele guarda a imagem usando compressão de vídeo, o que deixa os arquivos com cerca de metade do tamanho do JPEG equivalente. A compressão está presa a patentes, então muitos navegadores e programas nunca adicionaram suporte para ler esse formato.
Por que é mais lento no Firefox?
Ler um HEIC exige um decodificador HEVC. O Safari tem um, e o Chrome e o Edge expõem o que está embutido no hardware da sua máquina. O Firefox não expõe nenhum dos dois, então esta página carrega um decodificador por software. Ele produz o mesmo resultado e demora mais, e a ferramenta marca toda conversão em que isso aconteceu.
Por que às vezes as fotos convertidas parecem desbotadas em outros lugares?
Porque uma foto do iPhone está em Display P3, uma faixa de cor mais ampla do que a maioria dos arquivos usa, e um conversor que escreve esses números sem registrar a qual faixa eles pertencem deixa tudo com aparência apagada. Esta ferramenta detecta a faixa a partir do arquivo e leva o perfil de cor para dentro do resultado.
Uma foto HDR continua HDR?
Se você converter para AVIF, sim. Uma foto HDR é uma imagem comum mais um mapa de brilho, e o AVIF leva os dois, com os ajustes que descrevem essa relação copiados byte a byte em vez de recalculados. Todos os outros formatos de saída guardam uma imagem só, então você recebe a versão em faixa padrão e um aviso de que o HDR ficou para trás.
Por que o PNG é maior do que o arquivo de origem?
PNG é sem perdas e JPEG, WebP, AVIF e HEIC não são. Esses formatos jogaram detalhe fora para chegar ao tamanho que têm, e o PNG não pode jogar nada fora, então guarda por inteiro o que sobrou. Se o tamanho importa mais que a fidelidade, converta para JPEG ou WebP.
Funciona no telefone?
Sim. A conversão roda no navegador do telefone do mesmo jeito que roda no desktop, e você pode escolher as fotos direto da sua biblioteca de fotos. No iPhone, Salvar entrega o resultado ao menu de compartilhamento do sistema em vez de largá-lo no Files, então a foto convertida pode voltar para o Photos, ou ir para uma mensagem, pelo menu que você já conhece. Onde o navegador não tem esse menu, Salvar baixa o arquivo como de costume.
Posso converter várias de uma vez?
Sim. Solte ou escolha quantas quiser e elas são convertidas uma depois da outra. Elas são tratadas em sequência, e não todas de uma vez, porque uma aba do navegador convertendo vinte fotos em paralelo fica sem memória.
Um arquivo do lote falhou. E agora?
O resto foi convertido assim mesmo. Um arquivo que falhou fica com a linha dele e diz por quê, para você ver qual foi em vez de contar linhas para descobrir o que está faltando. O motivo costuma ser um arquivo danificado ou baixado pela metade, um formato que este navegador não escreve, ou uma imagem acima do teto de megapixels. Solte esse arquivo de novo depois de resolver, e nada mais precisa ser feito duas vezes.
Posso usar sem conexão com a internet?
Sim, depois que a página carrega. Há também uma versão em arquivo único mais abaixo nesta página, que você baixa uma vez e abre direto do seu disco, sem conexão nenhuma.
O que é exatamente a versão em arquivo único?
Um documento HTML. O conversor, a interface e a folha de estilos estão todos escritos dentro dele. Você o abre como abre qualquer arquivo do seu computador, e o navegador o executa a partir do seu disco.
Preciso instalar alguma coisa?
Não. Não há nada para instalar, nenhuma extensão e nenhum runtime para acrescentar. Um navegador dos últimos anos já tem tudo de que precisa.
Como eu sei que o arquivo que baixei é o certo?
Calcule o hash dele e compare com o SHA-256 publicado para ele. O workflow que constrói o arquivo registra esse número no release que publica, então ele vem da máquina que produziu os bytes.
Por que o HEIC falha no Firefox dentro do arquivo offline?
O Firefox não expõe nenhum decodificador HEVC, e um HEIC é um quadro de HEVC. O arquivo offline não carrega dependências, por decisão de projeto, então não tem decodificador por software para o qual recorrer. O conversor no topo desta página carrega um como arquivo separado, e isso um documento único não consegue fazer.
Como eu consigo uma versão mais nova?
Volte aqui e baixe de novo. Um arquivo no seu disco não se atualiza sozinho, e essa é a troca que você faz por uma cópia que ninguém pode mudar por baixo do seu nariz.
Posso repassar o arquivo para outra pessoa?
Pode. Ele tem licença MIT e é autocontido, então viaja em um pendrive tão bem quanto em qualquer outro lugar. Diga à pessoa para conferir o hash.
Qual é a licença dele?
MIT, para o arquivo inteiro. Nenhuma biblioteca sob outra licença é compilada dentro dele, o que é proposital, e é também por isso que ele não decodifica HEIC no Firefox.
Por que o arquivo offline é tão grande?
Porque ele é o programa, e não uma página que vai buscar um. Uma página web comum é pequena e depois baixa algumas centenas de kilobytes de script. Aqui esse download acontece uma vez, de uma vez só, e nunca mais.
Ele consegue converter um GIF animado?
Sim, e mantém os quadros. Um GIF convertido para APNG sai como uma animação com a mesma cadência, e um APNG convertido de volta para GIF faz o mesmo. Converter qualquer um dos dois para um formato estático mantém o primeiro quadro e avisa.
O que acontece com uma Live Photo?
Uma Live Photo são dois arquivos: a imagem parada e um vídeo curto gravado antes e depois do momento em que você apertou o botão. O que chega aqui é a imagem parada, e é ela que você recebe de volta. O movimento fica no vídeo ao lado, que esta ferramenta não lê. Ela converte imagens, não vídeo.
O que ele faz com um arquivo raw de câmera?
Ele extrai o JPEG em tamanho real que a câmera embutiu no momento da foto, coisa que toda câmera atual inclui. Essa é a interpretação da própria câmera, e não uma revelação dos dados do sensor, então não vai bater com o que um editor de fotos produziria, mas é uma imagem de verdade em resolução total e sai em um instante.
Ele consegue gerar um PDF?
Não, e isso é uma decisão, não algo que ficou faltando. Um PDF é uma página, então escrever um significa escolher o tamanho da página, a margem e onde a imagem fica, e essas escolhas pertencem a quem faz o documento. Converta para PNG ou JPG e coloque o resultado no programa que estiver montando o documento.
Ele consegue converter alguma coisa para HEIC?
Não, e não está nos planos. Nenhum navegador consegue escrever HEIC, e a compressão que ele usa traz obrigações de licenciamento que uma ferramenta gratuita não tem como cumprir.

O arquivo ficou na sua máquina.

O conversor inteiro é de código aberto e não tem dependências em tempo de execução. Leia o código, ou baixe a versão em arquivo único e guarde uma cópia.

Ler o código-fonte