A Playnite extension that brings game descriptions to life. Instead of the static text panel, descriptions render through a real browser engine — so Steam store trailers, GIFs, animated WebP and AVIF all play inline, exactly as they look on the store page.
Designed for Desktop mode, with experimental Fullscreen support.
Built with the help of Claude Code
Demovideo.mp4
- Descriptions are fetched in your language. PlayGif was always pulling English from Steam, which replaced localized descriptions with English text. It now uses your Playnite language, and caches each language separately.
- Convert cached media to MP4. Re-encodes your cached GIFs with FFmpeg. A GIF stores every frame as a full picture, so the saving is large — a 116 MB test library came out around 8 MB — and MP4 plays using your GPU where GIF does not. In Settings → General → Cache.
- Repair description links, next to it. Points descriptions at the converted files, and clears links whose media is no longer on disk. Runs automatically after converting.
- Descriptions reverting to plain text after restarting Playnite. PlayGif could give up trying to attach before Playnite had finished building the description panel, so you had to click through every game again. It now keeps waiting and attaches as soon as the panel appears.
- Marked a fix attempt because it depends on startup timing that varies by machine, theme, and library size. If it still happens, please open an issue with your log — see the Known Issues tab in settings.
- v1.0.1: fixed descriptions going static when switching between Grid and Details view, added the video scale dropdown, and added the Theme Support and Known Issues settings tabs.
- Animated inline content — video, GIF, animated WebP and AVIF, rendered by the WebView2 engine
- Store descriptions — pulls rich media descriptions from Steam and GOG when local metadata is plain text
- Custom media — add your own clips or images to the top or bottom of any description
- Video sizing — global scale and height cap, with per-game overrides
- Offline cache — media is cached locally with a per-game size limit
- Resource-aware — pauses playback when a game launches or Playnite loses focus
- Theme compatible — injects into the existing description panel, so themes keep their layout
- Playnite 10 (SDK 6.16.0)
- Windows 10 (2004 / May 2020 update) or newer, or Windows 11
- WebView2 Evergreen Runtime — pre-installed on Windows 11 and most Windows 10 machines. If missing, get it from Microsoft
- FFmpeg (optional) — needed for Convert cached media to MP4, and used to convert the rare video a store publishes exclusively as WebM. Everything still plays without it.
- Download the latest
.pextfrom Releases - Open Playnite → Add-ons → Extensions
- Click Add extension and select the
.pext - Restart Playnite
Right-click any game for the PlayGif menu:
| Action | What it does |
|---|---|
| Add media | Insert a local file, a URL, or a web image search result at the top or bottom of the description |
| Remove media | Pick a media file to remove; it is stripped from the description too |
| Refresh description | Clears the cache and re-fetches, for when a description looks wrong |
| Video scale | Set 25/50/75% for this game, or reset to the global default |
| Fetch description | Pull a rich description from Steam or GOG |
Library-wide options live in Settings → PlayGif → General:
| Setting | What it does |
|---|---|
| Fetch Steam descriptions for all games | Bulk-fetches rich descriptions across your library |
| Convert cached media to MP4 | Re-encodes cached GIFs and other animations with FFmpeg — much smaller, and hardware-decoded |
| Repair description links | Points descriptions at converted files, and clears links whose media is gone. Runs automatically after converting |
If descriptions do not render correctly in your theme, open Settings → PlayGif → Theme Support and run the layout report — it records what PlayGif found in your theme's panel, which is what a bug report needs.
Theme compatibility is the rough edge. Playnite has no official support for animated descriptions, so PlayGif injects a renderer into whatever description panel your theme happens to build. Themes lay that out very differently, and other extensions modify it too.
What that can look like:
- Visual glitches — clipped text, blank gaps, content in the wrong place, or flicker while scrolling
- Descriptions that don't animate at all in a particular theme
- Problems that appear only when another extension is installed, because several also modify the details view (HowLongToBeat, achievements plugins, screenshot viewers, and others)
Reports are welcome. Some theme layouts may be out of reach, but a report helps identify which ones:
- Settings → PlayGif → Theme Support → Run layout report
- Open an issue with the report, your theme name, and any other extensions that touch the details view
The long-term fix is official Playnite support for animated content in descriptions, which would remove the need to inject anything. Until then, per-theme patches go in the Theme Support tab as they're identified.
PlayGif is MIT licensed. All third-party dependencies use permissive licenses (MIT or BSD 3-Clause). See THIRD-PARTY-NOTICES for details.
PlayGif ships no media codecs. All decoding (H.264, VP8/VP9, AVIF, animated WebP, GIF) is handled by the WebView2 Evergreen Runtime — a system component installed and maintained by Microsoft. PlayGif bundles only the managed WebView2 API wrapper and native loader: no Chromium binaries, no codec libraries, no patent-encumbered components. Codec licensing (MPEG LA for H.264, etc.) is the runtime distributor's responsibility, not this extension's.
PlayGif fetches descriptions from Steam's public store API (store.steampowered.com/api/appdetails) and GOG's product API — the same endpoints used by Playnite's own metadata plugins. No API key is required, and requests are rate-limited with retry logic.

