Animated GIF Support in React Native Image on Vega OS

Hi Vega Team,

We are developing a React Native application for Vega OS and need to display animated GIFs from remote URLs.

Currently, when we use the standard React Native Image component with a remote animated GIF URL, the image loads but only a static frame is displayed. The GIF animation does not play.
Could you please confirm:

  1. Does Vega OS officially support animated GIFs through the React Native Image component?
  2. If animated GIFs are not supported by Image, is there any Vega-supported API or component for rendering animated GIFs?
  3. Is there any recommended approach to display remote animated GIFs on Vega OS without frame extraction?
  4. If animated GIF support is currently unavailable, is it planned for a future Vega SDK release?

Thanks.

Hi @Kunal_Shaurya,

Thanks for the detailed write-up. Here’s what I can share:

1. Animated GIFs via the Image component

The React Native for Vega Image component lists gif as a supported format (alongside png, jpg, jpeg, bmp, webp), but the documentation doesn’t specify frame-by-frame playback for animated GIFs. Consistent with the behavior you’re observing - and with the fact that Vega’s native Image is optimized for static assets with built-in caching (it performs similarly to react-native-fast-image/expo-image) - animated GIF playback does not appear to be supported by the core Image component today. Only the static frame renders.

Refs:

2 & 3. Workarounds for animated content

There isn’t a dedicated native animated-GIF renderer, so here are a few workarounds:

  • Lottie (lottie-react-native) - fully supported on Vega and the most performant choice, since it renders natively rather than decoding frames on the JS thread. Best option if you can author/export the animation as Bodymovin JSON.
  • Looping video - convert the GIF to a short MP4/WebM and play it via the Vega media player (@amazon-devices/react-native-w3cmedia). Reliable for true animated playback when re-authoring as Lottie isn’t feasible.
  • WebView (@amazon-devices/react-native-webview) - a GIF rendered in a WebView animates and can load a remote URL directly without frame extraction. Closest drop-in if the asset must remain a GIF, though heavier than Lottie/native video.

Note: react-native-fast-image is only partially supported (no cache-control header) and does not add animated-GIF playback, so it won’t solve this.

Refs:

4. Future SDK support: I’ve passed this on to the internal team for evaluation.

Our team is looking into it and will provide an update as soon as we have more information.

Thanks for helping us improve the Vega platform.

Warm regards,
Aishwarya