Voltar para o Blog
Quest Log

Sprite Sheet Generator Grátis: Gerador para Empacotar Frames

Doze quadros soltos de um personagem correndo sendo encaixados por uma máquina numa única folha organizada

Sprite sheet generator grátis com os mesmos 12 frames: Free Texture Packer, TexturePacker Essential, Aseprite e atlas da engine, em grid ou packed com JSON.

Ferramenta:Aseprite

Sprite Sheet Generator Grátis: Gerador para Empacotar Frames

Um sprite sheet generator (gerador de sprite sheet) pega uma pasta de quadros soltos e entrega uma imagem única mais, opcionalmente, um arquivo de dados com a posição de cada quadro. As opções grátis que funcionam em 2026 são o Free Texture Packer, o modo Essential do TexturePacker (só para uso não comercial), o Export Sprite Sheet do Aseprite para quem já usa o programa, o ImageMagick na linha de comando e o atlas da própria engine.

Para comparar de verdade, este post empacota os mesmos 12 quadros de uma corrida (64 x 64 pixels cada) em cada ferramenta e mostra o que sai, o que trava e quando você nem precisa de gerador externo.

O que um gerador de sprite sheet faz que a pasta de PNGs não faz

Uma pasta com run_01.png até run_12.png funciona na engine: dá para arrastar os 12 arquivos para uma animação. O gerador acrescenta quatro coisas:

  1. Uma textura só. A placa de vídeo troca menos de textura ao desenhar, o que reduz chamadas de desenho quando há muitos sprites na tela.
  2. Organização. Uma animação é um arquivo, não doze.
  3. Corte de transparência (trim). O gerador remove as bordas vazias de cada quadro e guarda o deslocamento no arquivo de dados. A folha fica menor.
  4. Padding e extrude. Espaço e repetição de borda entre quadros, para evitar linhas finas no jogo quando a textura é filtrada.

Se você está começando e tem uma animação só, a pasta de PNGs não é errada. O gerador começa a valer quando há várias animações, vários personagens ou plataforma móvel com memória apertada. Para a lógica de grade e células, veja o post sobre sprite sheet.

Sprite sheet generator grátis: Free Texture Packer passo a passo

O Free Texture Packer é gratuito e de código aberto, com versão web (free-tex-packer.com) e desktop. Um aviso honesto: o autor diz no repositório que não está mais evoluindo o app, só corrigindo bugs críticos, e a última versão publicada no GitHub é a 0.6.7. Ele funciona, mas não espere novidades.

Com os 12 quadros da corrida:

  1. Abra a versão web e clique em Add images (ou arraste a pasta).
  2. Os 12 quadros aparecem na lista e a folha é montada em tempo real.
  3. Ajuste o Padding (2 pixels para arte filtrada; 0 para pixel art com filtro Nearest e grade).
  4. Decida o trim: ligado, a folha fica menor, mas cada quadro passa a depender do JSON para voltar à posição certa.
  5. Desligue a rotação de sprites se a sua engine ou o seu importador não suportar quadros girados.
  6. Em Format, escolha o formato de dados. O projeto lista JSON, XML, CSS e formatos para Pixi.js, Godot, Phaser e Cocos2d, e aceita modelos próprios.
  7. Export baixa o PNG e o arquivo de dados.

Resultado com os 12 quadros de 64 x 64 com trim ligado: uma folha compacta e quadros de tamanhos diferentes. Sem trim e com layout simples, os quadros ficam alinhados, mas o empacotamento não garante grade regular.

TexturePacker versão grátis: o que libera e o que trava

O TexturePacker é o packer comercial mais conhecido (versão 8.3.0, de setembro de 2026). Pela página oficial de comparação de licenças, conferida em outubro de 2026, o modo gratuito Essential:

  • Libera: empacotamento básico, formatos de dados JSON e XML e os específicos de engine, PNG e JPG, interface com prévia de animação, smart folders e cliente de linha de comando.
  • Não libera: layout Grid/Strip, algoritmos MaxRects e Polygon, restrições de tamanho, multipack, filtros de sprite, todas as opções de otimização de imagem, editor de pivô, editor de 9-slice e divisor de sprite sheet.
  • Licença: uso não comercial apenas. Para jogo que vai ser vendido ou monetizado, é preciso licença paga.

Na prática, para os 12 quadros de corrida, o Essential empacota e exporta, mas sem a opção de grade e sem o editor de pivô. Para estudo e protótipo, serve. Para o seu jogo comercial, não.

Export Sprite Sheet do Aseprite como gerador embutido

Se você anima no Aseprite, ele já é o gerador. Não há motivo para exportar 12 PNGs e empacotar em outro programa.

File > Export > Export Sprite Sheet, com os 12 quadros da corrida:

  • Layout: Sheet Type em By Rows com Fixed # of Columns em 6 gera 6 x 2 quadros, grade perfeita de 384 x 128 pixels. Packed gera uma folha compacta, como um packer. Merge Duplicates junta quadros idênticos numa célula só.
  • Sprite: escolha camadas e tags. Com Split Tags, cada animação pode virar uma folha separada.
  • Borders: Border Padding (margem na borda da folha), Spacing (espaço entre quadros), Inner Padding (espaço dentro de cada célula), Trim Sprite e Trim Cels (cortar transparência), Extrude (repetir a borda do quadro em 1 pixel).
  • Output: PNG e JSON Data em Hash ou Array, com metadados de tags, camadas e slices. O JSON inclui a duração de cada frame.

Pela linha de comando, as mesmas opções existem como --sheet, --sheet-type, --border-padding, --shape-padding, --inner-padding, --trim, --extrude, --data e --format json-hash ou json-array, o que permite exportar todas as animações com um script.

O Aseprite é pago. Se você ainda não tem, o guia de Aseprite para jogos ajuda a decidir; se não for comprar, LibreSprite e Pixelorama (grátis) também exportam sprite sheet.

Empacotar quadros é um problema resolvido por qualquer uma dessas ferramentas. O gargalo real vem antes: ter quadros consistentes para empacotar, com mesmo tamanho, mesmo pivô e animações que funcionam juntas no jogo. Sem isso, o melhor gerador do mundo só organiza o problema numa imagem bonita.

Curso de Arte 2D
Quer fazer a arte do seu jogo?

No curso de Arte 2D para Jogos da CursoGame.Dev você vai do rabisco ao portfólio: personagens, cenários, tilesets, UI e animação, sem precisar saber desenhar.

Conhecer o curso de Arte 2D
Suporte no WhatsAppAcesso vitalícioGarantia de 7 dias

Quando a produção da arte segue um padrão, o empacotamento vira um passo automático no fim, não uma sessão de ajustes.

Grid fixo ou packed: qual formato a sua engine lê

Grade fixa (grid). Todas as células do mesmo tamanho, na mesma ordem. A engine fatia sozinha, sem arquivo de dados:

  • Unity: Sprite Mode Multiple e, no Sprite Editor, Slice > Grid By Cell Size com o tamanho da célula e o padding.
  • Godot: no painel SpriteFrames de um AnimatedSprite2D, a opção de adicionar quadros de uma sprite sheet pede quadros na horizontal e vertical, separação e offset. Ou um Sprite2D com hframes e vframes.

Packed. Quadros de tamanhos diferentes encaixados para ocupar menos espaço. A engine só sabe onde cada quadro está lendo o arquivo de dados. Nem Unity nem Godot leem o JSON de um packer nativamente: você precisa de um importador (plugin ou script).

Atlas da engine. Os dois motores empacotam sozinhos, de outro jeito. A Unity tem o Sprite Atlas, que junta sprites já importados numa textura no build, com Padding padrão de 4 pixels. Na Godot, o importador de texturas tem um modo de atlas que junta várias imagens. Nesses casos, você mantém os quadros (ou folhas em grade) separados no projeto e deixa a engine otimizar.

Regra prática: grade para animação de personagem, packed ou atlas da engine para muitos sprites estáticos de tamanhos variados (itens, UI, decoração).

Arquivo de dados JSON: por que guardar junto com o PNG

Mesmo se você usa grade, salve o JSON quando o gerador oferecer. Um JSON típico de Aseprite em formato Hash traz, para cada quadro:

  • frame: posição e tamanho na folha (x, y, w, h).
  • rotated: se o quadro foi girado no empacotamento.
  • trimmed, spriteSourceSize e sourceSize: quanto foi cortado e o tamanho original, para recolocar o quadro no lugar.
  • duration: duração do quadro em milissegundos.

E, em meta, as tags (nome da animação, quadro inicial e final, direção). Com isso, um script de importação recria as animações na engine sozinho. Sem o JSON, se a folha for gerada de novo com outra ordem, você refaz o fatiamento à mão.

Guarde o JSON ao lado do PNG, com o mesmo nome (heroi_run.png e heroi_run.json), e versione os dois juntos.

Erros comuns: trim, rotação de frame e pivô perdido

Trim sem dados. O gerador cortou as bordas e você fatiou a folha por grade. Cada quadro fica de um tamanho e o personagem pula. Ou use grade sem trim, ou leia o JSON.

Rotação ligada sem suporte. O packer girou quadros para encaixar melhor, e o importador não desfaz. Aparece um personagem deitado no meio da corrida. Desligue a rotação se não tem certeza.

Pivô perdido. Com trim, o centro de cada quadro muda. Se o pivô era "centro do quadro", ele passa a ficar em lugares diferentes. Defina o pivô nos pés e use o spriteSourceSize para recalcular, ou não use trim em personagem.

Padding sem extrude em arte filtrada. O espaço vazio entre quadros entra no filtro bilinear e aparece uma linha fina na borda. Extrude de 1 pixel resolve.

Licença do gerador. Usar o TexturePacker Essential num jogo comercial viola a licença. Para projeto comercial grátis, Aseprite (se já tem), Free Texture Packer ou ImageMagick.

Próximo passo

Pegue uma animação sua e gere a folha em duas ferramentas desta lista: uma em grade (Aseprite ou ImageMagick) e uma packed (Free Texture Packer). Importe as duas na engine e compare o trabalho de configurar cada uma. Para jogo pequeno, a grade quase sempre vence. Se os seus quadros vêm de um GIF, o post sobre converter GIF em sprite sheet mostra o passo anterior.

Perguntas frequentes

Qual o melhor gerador de sprite sheet grátis?

Depende de onde vêm os frames. Se você anima no Aseprite, o Export Sprite Sheet dele já é o gerador. Se tem uma pasta de PNGs de outro programa, o Free Texture Packer (web ou desktop) e um comando do ImageMagick resolvem de graça. O TexturePacker gratuito só serve para uso não comercial.

O TexturePacker é grátis?

Tem o modo Essential gratuito, mas, segundo a CodeAndWeb em outubro de 2026, ele é só para projetos não comerciais e não inclui o layout em grade nem o algoritmo MaxRects. Para jogo comercial é preciso comprar licença.

Sprite sheet em grade ou packed: qual usar?

Grade quando todos os quadros têm o mesmo tamanho e você quer fatiar na engine sem arquivo de dados. Packed quando há muitos sprites de tamanhos diferentes e a economia de espaço importa, sempre com o JSON junto, porque a engine precisa dele para achar cada quadro.

Unity e Godot leem o JSON do packer?

Não sem ajuda. As duas fatiam uma sprite sheet em grade nativamente. Para ler o JSON de um packer, você precisa de um importador (plugin ou script). Se o jogo é simples, a folha em grade evita essa dependência.