# tencent/libpag

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/tencent-libpag).**

5,708 stars · 529 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/Tencent/libpag
- Homepage: https://pag.io
- awesome-repositories: https://awesome-repositories.com/repository/tencent-libpag.md

## Topics

`after-effects` `animation` `keyframes` `libpag` `pag`

## Description

The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.

## Tags

### Graphics & Multimedia

- [After Effects Renderers](https://awesome-repositories.com/f/graphics-multimedia/after-effects-renderers.md) — Plays animations exported from Adobe After Effects using a dedicated plugin, preserving complex motion and effects. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [Export Pipelines](https://awesome-repositories.com/f/graphics-multimedia/after-effects-renderers/export-pipelines.md) — Provides an export pipeline from Adobe After Effects that produces compact PAG files for cross-platform playback.
- [Feature-Comprehensive Exporters](https://awesome-repositories.com/f/graphics-multimedia/after-effects-renderers/feature-comprehensive-exporters.md) — Exports animations supporting all After Effects features, including vector, raster, and third-party plugin effects. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [After Effects Exporters](https://awesome-repositories.com/f/graphics-multimedia/animation-exporters/after-effects-exporters.md) — Exports animations from Adobe After Effects as PAG files for cross-platform playback. ([source](https://pag.io/docs/home.html))
- [Animated Image Manipulation](https://awesome-repositories.com/f/graphics-multimedia/animation-motion/animated-image-rendering/animated-image-manipulation.md) — Swaps images within a PAG file at runtime using the PAGImage class. ([source](https://pag.io/apis/ios/index.html))
- [Layer Editors](https://awesome-repositories.com/f/graphics-multimedia/animation-motion/animated-image-rendering/animated-image-manipulation/layer-editors.md) — Modifies layer structure, merges files, and swaps text or images in PAG animations at runtime. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [Canvas Rendering](https://awesome-repositories.com/f/graphics-multimedia/canvas-rendering.md) — Draws the current frame of a PAG animation onto a provided canvas surface. ([source](https://pag.io/apis/web/index.html))
- [Layer Content Editors](https://awesome-repositories.com/f/graphics-multimedia/character-animation-authoring/runtime-animation-scaling/layer-content-editors.md) — Enables runtime editing of text, images, and layer structure in PAG animations without re-exporting from After Effects.
- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Ships a GPU-accelerated rendering pipeline using OpenGL, Metal, and Vulkan for real-time cross-platform playback.
- [Animation Layer Compositing](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/animation-layer-compositing.md) — Combines image, text, and solid layers within a PAG composition to build complex visual sequences. ([source](https://pag.io/apis/web/index.html))
- [Editable Layer Trees](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/animation-layer-compositing/editable-layer-trees.md) — Provides a layer-based composition engine that manages editable text, image, shape, and solid layers with independent animation properties.
- [Layer Accessors and Mutators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/animation-layer-compositing/layer-accessors-and-mutators.md) — Accesses and manipulates individual layers within a PAG composition, including image, text, shape, and solid layers. ([source](https://pag.io/apis/ios/index.html))
- [PAG Format Decoders](https://awesome-repositories.com/f/graphics-multimedia/image-decoding/jpeg-format-decoders/pag-format-decoders.md) — Reads PAG files ten times faster than JSON with fifty percent smaller file sizes for the same animation.
- [Efficient Animation Decoders](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/image-sequence-processors/animation-frame-sequencers/animated-frame-managers/ios-animated-image-decoders/efficient-animation-decoders.md) — Reads PAG files ten times faster than JSON and reduces file size by about fifty percent for the same animation. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [JSON Animation Rendering](https://awesome-repositories.com/f/graphics-multimedia/json-animation-rendering.md) — Plays vector and raster animations from PAG files in real time across mobile, desktop, and web platforms. ([source](https://pag.io/docs/en/pag-spec.html))
- [Canvas Frame Renderers](https://awesome-repositories.com/f/graphics-multimedia/json-animation-rendering/canvas-frame-renderers.md) — Draws each frame of a loaded PAG animation onto a canvas surface for real-time display. ([source](https://pag.io/apis/web/index.html))
- [Native Animation Renderers](https://awesome-repositories.com/f/graphics-multimedia/json-animation-rendering/native-animation-renderers.md) — Renders vector and raster animations from PAG files natively in real time across iOS, Android, desktop, and web. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [Bitmap Fallback Renderers](https://awesome-repositories.com/f/graphics-multimedia/after-effects-renderers/bitmap-fallback-renderers.md) — Converts unsupported After Effects effects into pre-rendered bitmap sequences for playback. ([source](https://pag.io/docs/en/ae-bmp-guide.html))
- [Callback-Based Exporters](https://awesome-repositories.com/f/graphics-multimedia/animation-exporters/callback-based-exporters.md) — Exports PAG compositions to video or other formats through a callback-based export interface. ([source](https://pag.io/apis/ios/index.html))
- [Composition Video Exporters](https://awesome-repositories.com/f/graphics-multimedia/animation-exporters/composition-video-exporters.md) — Converts PAG compositions into video or other formats using configurable export settings. ([source](https://pag.io/apis/ios/index.html))
- [Vector](https://awesome-repositories.com/f/graphics-multimedia/animation-exporters/vector.md) — Exports animations as vector PAG files for small file size and preserved editability in UI animations. ([source](https://pag.io/docs/en/pag-export.html))
- [Embedded Audio Decoders](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/animation-audio-synchronization/embedded-audio-decoders.md) — Decodes audio samples embedded in PAG files for synchronized playback or export. ([source](https://pag.io/apis/ios/index.html))
- [Playback Event Hooks](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/playback-engine-integration/playback-event-hooks.md) — Ships callback hooks for reacting to animation playback state changes and user interactions. ([source](https://pag.io/apis/ios/index.html))
- [Animation Bitmap Exporters](https://awesome-repositories.com/f/graphics-multimedia/bitmap-export-pipelines/animation-bitmap-exporters.md) — Exports animations as bitmap PAG files that support all After Effects features at the cost of larger file size. ([source](https://pag.io/docs/en/pag-export.html))
- [Effect Fallback Renderers](https://awesome-repositories.com/f/graphics-multimedia/bitmap-rendering/effect-fallback-renderers.md) — Converts unsupported After Effects effects into pre-rendered bitmap sequences for playback.
- [Video Export Pipelines](https://awesome-repositories.com/f/graphics-multimedia/design-to-image-exporters/image-export-to-file/video-export-pipelines.md) — Converts PAG compositions into video files through a movie exporter interface. ([source](https://pag.io/apis/ios/index.html))
- [Animation Frame Extractors](https://awesome-repositories.com/f/graphics-multimedia/frame-by-frame-stream-processing/animation-frame-capturers/animation-frame-extractors.md) — Extracts individual frames from a PAG animation for custom processing or display. ([source](https://pag.io/apis/ios/index.html))
- [Mixed Format Exporters](https://awesome-repositories.com/f/graphics-multimedia/layered-animation-exporters/mixed-format-exporters.md) — Exports animations with mixed vector and bitmap layers to balance editability and feature support. ([source](https://pag.io/docs/en/pag-export.html))
- [Animation Audio Track Readers](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing-workflows/audio-analysis-synthesis/audio-feature-extraction/audio-track-extraction/animation-audio-track-readers.md) — Reads and processes audio samples embedded in PAG animations. ([source](https://pag.io/apis/ios/index.html))

### Part of an Awesome List

- [Exporter Plugins](https://awesome-repositories.com/f/awesome-lists/ai/avatar-generation/lip-sync-animations/after-effects-integrations/exporter-plugins.md) — Provides a dedicated After Effects plugin that creates PAG files directly from compositions. ([source](https://cdn.jsdelivr.net/gh/tencent/libpag@main/README.md))
- [Animation File Loaders](https://awesome-repositories.com/f/awesome-lists/devtools/svg-animation-libraries/loading-animations/animation-file-loaders.md) — Loads a Portable Animated Graphics file from a source and prepares it for playback. ([source](https://pag.io/apis/web/index.html))

### Content Management & Publishing

- [Animation Layer Image Swappers](https://awesome-repositories.com/f/content-management-publishing/text-placeholder-replacements/image-placeholder-replacements/animation-layer-image-swappers.md) — Swaps images within PAG animation layers at runtime for dynamic content personalization. ([source](https://pag.io/apis/ios/index.html))

### Mobile Development

- [Animation SDK Integrations](https://awesome-repositories.com/f/mobile-development/native-ios-applications/native-view-integration/sdk-component-integrations/animation-sdk-integrations.md) — Embeds the PAG rendering library into mobile, desktop, or web applications to play animations. ([source](https://pag.io/docs/home.html))

### Programming Languages & Runtimes

- [Animation Binary Decoders](https://awesome-repositories.com/f/programming-languages-runtimes/compact-binary-formats/animation-binary-decoders.md) — Reads a compact binary format that stores vector and raster layers with animation timelines in a single portable container.
- [Runtime Object Mutators](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-object-mutators.md) — Provides runtime mutation of animation layers, allowing image replacement, text editing, and composition merging during playback.
- [Animation Layer Mutators](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-object-mutators/animation-layer-mutators.md) — Enables runtime replacement of images, text, and layer merging in animations without re-exporting from After Effects.

### Software Engineering & Architecture

- [Cross-Platform Abstraction Layers](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-abstraction-layers.md) — Provides a unified C++ rendering core with platform-specific bindings for iOS, Android, desktop, and web.

### User Interface & Experience

- [Animated Graphics](https://awesome-repositories.com/f/user-interface-experience/animated-graphics.md) — Renders and plays PAG animation files in real time on iOS, Android, macOS, Windows, Linux, and Web. ([source](https://pag.io/docs/home.html))
- [Animation Playback Controls](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/animation-playback-controls.md) — Renders a PAG animation frame by frame, controlling playback with standard media controls. ([source](https://pag.io/apis/web/index.html))
- [Interactive Playback](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/animation-playback-controls/interactive-playback.md) — Provides programmatic start, stop, seek, and loop controls for interactive animation playback.
- [Progressive Render Animations](https://awesome-repositories.com/f/user-interface-experience/chart-animations/progressive-render-animations.md) — Loads and renders PAG animation files in real time across multiple platforms and devices. ([source](https://pag.io/apis/web/index.html))
- [Cross-Platform Animation Engines](https://awesome-repositories.com/f/user-interface-experience/cross-platform-animation-engines.md) — Plays vector and raster animations on iOS, Android, desktop, and web without additional runtimes.
- [Cross-Platform Animation Players](https://awesome-repositories.com/f/user-interface-experience/native-animation-drivers/cross-platform-animation-players.md) — Renders PAG animation files on iOS, Android, macOS, Windows, Linux, and Web without additional runtime dependencies. ([source](https://pag.io/docs/home.html))
- [Cross-Platform Rendering](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/web-based-native-ui/cross-platform-rendering.md) — Renders After Effects animations natively from the PAG file format with real-time playback across platforms.
- [Preview and Optimization Tools](https://awesome-repositories.com/f/user-interface-experience/animation-optimization-tools/animation-performance-optimizers/preview-and-optimization-tools.md) — Ships a desktop and web preview tool for inspecting animations, replacing assets, viewing performance metrics, and optimizing file size.
- [Animation Video Swappers](https://awesome-repositories.com/f/user-interface-experience/animation-slot-replacement/animation-video-swappers.md) — Swaps video content within a PAG animation at runtime for dynamic playback. ([source](https://pag.io/docs/home.html))
- [Animation Placeholder Swappers](https://awesome-repositories.com/f/user-interface-experience/image-placeholders/animation-placeholder-swappers.md) — Swaps placeholder images or videos in PAG animation layers to preview visual content substitutions in real time. ([source](https://pag.io/docs/en/pag-edit.html))
- [Template Text Editors](https://awesome-repositories.com/f/user-interface-experience/text-animations/template-text-editors.md) — Modifies text content and styling within PAG animation layers to preview dynamic text replacements. ([source](https://pag.io/docs/en/pag-edit.html))
- [Runtime Animation Editors](https://awesome-repositories.com/f/user-interface-experience/ui-styling/visual-design-editors/interaction-animation-editors/runtime-animation-editors.md) — Modifies text, images, and layer structure in PAG animations during playback without re-exporting from After Effects.

### Data & Databases

- [Disk](https://awesome-repositories.com/f/data-databases/expensive-result-caches/frame-caches/disk.md) — Stores decoded animation frames as sequential image files on disk to reduce memory usage and accelerate repeated playback.
