# PR for adding inline image rendering to asciinema player

**URL:** <https://discourse.asciinema.org/t/pr-for-adding-inline-image-rendering-to-asciinema-player/1064>\
**Category:** Development\
**Created:** [February 17, 2026, 12:49pm UTC](https://discourse.asciinema.org/t/pr-for-adding-inline-image-rendering-to-asciinema-player/1064 "2026-02-17T12:49:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![deeplook](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.asciinema.org/deeplook/32/688_2.png) [@deeplook](https://discourse.asciinema.org/u/deeplook)\
**Post date:** [February 17, 2026, 12:49pm UTC](https://discourse.asciinema.org/t/pr-for-adding-inline-image-rendering-to-asciinema-player/1064/1 "2026-02-17T12:49:47Z")

</div>

I have created this PR about supporting images in asciinema-player. Mentioned before here: [Playback support for terminal graphics (iTerm inline images protocol)? - #5 by deeplook](https://discourse.asciinema.org/t/playback-support-for-terminal-graphics-iterm-inline-images-protocol/1060/5) . Comments welcome.

> <https://github.com/asciinema/asciinema-player/pull/308>
>
> Render inline images embedded in terminal recordings via the iTerm2 OSC 1337 Fil…e protocol (both simple and multipart). Supported formats: PNG, JPEG, WebP, BMP, GIF (animated), SVG (animated), and PDF.
> 
> Key changes:
> \- OSC 1337 parser extracts image sequences from terminal data while passing all other OSC sequences through to the VT emulator
> \- Split-feed pipeline in core.js: feed text segments individually, capture cursor position for each image, emit newlines to reserve vertical space, and track scrolling to adjust stored positions
> \- Rust VT wrapper returns per-feed scroll count via scrollback\_limit(0) to enable accurate image position tracking as content scrolls
> \- Image overlay renders images as absolutely positioned elements over the terminal canvas using measured cell dimensions
> \- PDF rendering via lazy-loaded pdf.js from CDN
> \- Use measured terminal cell dimensions (charW/charH) from the DOM instead of hardcoded pixel constants for accurate image sizing
> \- Playwright test with a cast covering all 7 supported image formats
> 
> I've asked in the forum about this feature, but with no response yet, see https://discourse.asciinema.org/t/playback-support-for-terminal-graphics-iterm-inline-images-protocol/1060.

---

<div class="post-metadata">

**Author:** ![ku1ik](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.asciinema.org/ku1ik/32/171_2.png) [@ku1ik](https://discourse.asciinema.org/u/ku1ik)\
**Post date:** [February 19, 2026, 2:56pm UTC](https://discourse.asciinema.org/t/pr-for-adding-inline-image-rendering-to-asciinema-player/1064/2 "2026-02-19T14:56:21Z")

</div>


