# Ispettore, a chrome extension to debug WebGL and WebGPU website

**URL:** <https://discourse.threejs.org/t/ispettore-a-chrome-extension-to-debug-webgl-and-webgpu-website/94939>\
**Category:** Resources\
**Created:** [October 2, 2026, 8:56am UTC](https://discourse.threejs.org/t/ispettore-a-chrome-extension-to-debug-webgl-and-webgpu-website/94939 "2026-10-02T08:56:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![velvetfrustum](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/velvetfrustum/32/72951_2.png) [@velvetfrustum](https://discourse.threejs.org/u/velvetfrustum)\
**Post date:** [October 2, 2026, 8:56am UTC](https://discourse.threejs.org/t/ispettore-a-chrome-extension-to-debug-webgl-and-webgpu-website/94939/1 "2026-10-02T08:56:54Z")

</div>

Hello everybody, I want to announce Ispettore

> **[GitHub - velvetfrustum/ispettore: Browser DevTools extension for inspecting WebGL...](https://github.com/velvetfrustum/ispettore)**
>
> Browser DevTools extension for inspecting WebGL and WebGPU frames — live GPU state capture, pipeline/shader inspection, and stored-capture diffing, without replaying or reconstructing your scene.

It is basically an extension for Chrome. I wanted something easy to use and easy to read. I have been inspired by Renderdoc for the pipeline visualization and the frame bar on the top. I have choose to use the same capture mode that Spector.js is using (after a failed attempt to record and then replay the commands), and I have integrated it with the possibility to filter drawcalls by object/materials, if a Three.js scene is detected.

Here some screenshot:

 ![visual-output](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/1/4/1406424c5bc69c2da747c11667d98ee19a9d04d0.png)

 ![pipeline](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/b/7/b7b0e41859562d30d56e26e518d08492c1a184ed.png)

 ![filtered-objects-in-threejs](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/1/b/1b7648af04692609251d12f70cd35c578d942a5b.png)

 ![effect-composer-visualizer](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/d/e/de17a9992a2c3f1492625ba753090ddc6815c732.png)

 ![captures-dif](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/8/c/8c9289e4f41a4a38968b8908003df4db317f5dec.png)

it is the very first public version, feedback is welcome.

---

<div class="post-metadata">

**Author:** ![velvetfrustum](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/velvetfrustum/32/72951_2.png) [@velvetfrustum](https://discourse.threejs.org/u/velvetfrustum)\
**Post date:** [October 13, 2026, 11:40am UTC](https://discourse.threejs.org/t/ispettore-a-chrome-extension-to-debug-webgl-and-webgpu-website/94939/2 "2026-10-13T11:40:04Z")

</div>

v.0.1.1 has been released (it still works only on chrome/chromium).

It is now possible to filter by group in a captured three.js scene. Also the visibility of the filtered object/groups is now more clear, they are easy to toggle.

> **[14598b9 - Releases · velvetfrustum/ispettore](https://github.com/velvetfrustum/ispettore/releases#release-v0.1.1)**
>
> Browser DevTools extension for inspecting WebGL and WebGPU frames — live GPU state capture, pipeline/shader inspection, and stored-capture diffing, without replaying or reconstructing your scene. -...
