# Does babylon Native support webp textures?

**URL:** <https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088>\
**Category:** Questions\
**Created:** [March 12, 2025, 8:55pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088 "2025-03-12T20:55:02Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anupam\_Das](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/anupam_das/32/16709_2.png) [@Anupam\_Das](https://forum.babylonjs.com/u/Anupam_Das)\
**Post date:** [March 12, 2025, 8:55pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/1 "2025-03-12T20:55:02Z")

</div>

Looking at the docs and source, im not seeing that WebP is supported by Babylon Native. Just want to confirm this and if so wondering if this is on the roadmap? @bghgary @thomlucc  
Also, could ya’ll point me to where the textureLoader decodes the webp on the JS side in normal BJS?

> <https://github.com/BabylonJS/BabylonNative/blob/9379cf3c41eedbf3001d4f1e3872ced9a04e818e/README.md?plain=1#L75>

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [March 12, 2025, 10:35pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/2 "2025-03-12T22:35:48Z")

</div>

> [@Anupam\_Das](#):
>
> Looking at the docs and source, im not seeing that WebP is supported by Babylon Native. Just want to confirm this and if so wondering if this is on the roadmap?

This is correct. We don’t support any other formats other than jpg and png at the moment. Support for other texture loaders (ktx, webp, etc.) is definitely something we need to do. @thomlucc Let’s make sure it’s in the backlog.

> [@Anupam\_Das](#):
>
> Also, could ya’ll point me to where the textureLoader decodes the webp on the JS side in normal BJS?

WebP is directly supported by the browser, like PNG and JPG, so there is no code to decode it.

---

<div class="post-metadata">

**Author:** ![thomlucc](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/thomlucc/32/4046_2.png) [@thomlucc](https://forum.babylonjs.com/u/thomlucc)\
**Post date:** [March 12, 2025, 11:10pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/3 "2025-03-12T23:10:34Z")

</div>

Babylon 8 being around the corner, it is now added to the Babylon 9 backlog: [Add support for more texture formats · Issue #1479 · BabylonJS/BabylonNative · GitHub](https://github.com/BabylonJS/BabylonNative/issues/1479)

---

<div class="post-metadata">

**Author:** ![Anupam\_Das](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/anupam_das/32/16709_2.png) [@Anupam\_Das](https://forum.babylonjs.com/u/Anupam_Das)\
**Post date:** [March 13, 2025, 7:22am UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/4 "2025-03-13T07:22:01Z")

</div>

Thanks all. Im curious on the Native side where does all the texture loading occur? We could possibly take a stab at implementing this and contributing. I guess I should take a look anyway. But seems we can use libwebp to do the decoding on the Native side and just need to figure out the correct entry point.

---

<div class="post-metadata">

**Author:** ![bghgary](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/bghgary/32/48532_2.png) [@bghgary](https://forum.babylonjs.com/u/bghgary)\
**Post date:** [March 13, 2025, 4:48pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/5 "2025-03-13T16:48:09Z")

</div>

It’s all in [NativeEngine.cpp](https://github.com/BabylonJS/BabylonNative/blob/9379cf3c41eedbf3001d4f1e3872ced9a04e818e/Plugins/NativeEngine/Source/NativeEngine.cpp#L1400-L1428) right now. We don’t currently use texture loaders at all. It’s all bypassed at the moment. To do this right will require changes to Babylon.js and Babylon Native to make sure they are using texture loaders somehow. I don’t know how easy it would be to do this.

---

<div class="post-metadata">

**Author:** ![Rawas1969](https://avatars.discourse-cdn.com/v4/letter/r/82dd89/32.png) [@Rawas1969](https://forum.babylonjs.com/u/Rawas1969)\
**Post date:** [April 4, 2025, 6:22am UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/6 "2025-04-04T06:22:03Z")

</div>

I would love to use EXT\_texture\_webp with babylon js because webp is able to compress the file size of textures massively[.](https://clevelandcountyassessor.pro).

---

<div class="post-metadata">

**Author:** ![ertugrulcetin](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ertugrulcetin/32/33011_2.png) [@ertugrulcetin](https://forum.babylonjs.com/u/ertugrulcetin)\
**Post date:** [September 17, 2025, 9:44am UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/7 "2025-09-17T09:44:40Z")

</div>

That’d be great to have, I’ll be waiting it!

---

<div class="post-metadata">

**Author:** ![kzhsw](https://avatars.discourse-cdn.com/v4/letter/k/848f3c/32.png) [@kzhsw](https://forum.babylonjs.com/u/kzhsw)\
**Post date:** [September 24, 2025, 2:53am UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/8 "2025-09-24T02:53:54Z")

</div>

Since webp is mostly vp8-based, any change of hardware-accelerated decoding by reusing some of hw vp8 decoding api?

---

<div class="post-metadata">

**Author:** ![Anupam\_Das](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/anupam_das/32/16709_2.png) [@Anupam\_Das](https://forum.babylonjs.com/u/Anupam_Das)\
**Post date:** [October 14, 2025, 6:19pm UTC](https://forum.babylonjs.com/t/does-babylon-native-support-webp-textures/57088/9 "2025-10-14T18:19:51Z")

</div>

just wanted to follow up on my original request. We have been using WebP extensively in native now with no issues. We have seen significant improvements in load time and overall rendering speed on our back end due to the much smaller size. (on average almost 70% smaller than PNG) All this without sacrificing any noticeable quality. In the browser environment, we’re seeing an average of 20% faster time to first contentful paint. Thanks for getting this in quickly. If speed to first paint is important for you, I would highly recommend WEBP.
