About Shader Lab
A free, browser-based editor for stacking and animating shader effects — by basement.studio.
What it is
Shader Lab is a free browser-based editor by basement.studio for creating, stacking, and animating shader effects on images, video, text, and 3D models. It runs on WebGPU, supports custom TSL shaders compiled in the browser, exports video, and has a community gallery where every published scene can be opened and remixed. Scenes can also be embedded in any React site with the open-source runtime, and AI agents can drive the editor through an MCP server.
Shader Lab is built and operated by basement.studio, the design and engineering studio behind the Geist typeface and websites for companies like Vercel and ElevenLabs.
How it works
A scene is a stack of layers. Source layers put something on the canvas — an image, a video, your camera, text, a mesh gradient, or a 3D model. Effect layers transform everything below them, and they stack: a video under a pixelation pass under a CRT pass renders exactly in that order, in real time.
Every layer parameter can be animated on the timeline, and the whole composition exports to video directly from the browser.
There is also a custom shader layer: write TSL (three.js Shading Language) in a sandbox that compiles in the browser and shows you compile errors immediately.
The effect catalog
Every effect below can be stacked on any source, reordered, masked, blended, and animated on the timeline.

ASCII
Turns the image into text glyphs for a classic terminal look.

Blob Tracking
Tracks moving regions and frames them with CCTV-style shapes, labels, and an inner effect.
Bloom
Adds a standalone highlight bloom pass to the incoming frame.
Blur

Chromatic Aberration
Offsets color channels for fringing and lens-separation effects.

Circuit Bent
Renders luma-gated scanlines and bends them around a pull or push attractor.

CRT
Adds scanlines, phosphor bloom, and display-era noise.

Directional Blur
Smears pixels linearly or radially for motion, focus, or depth.

Displacement Map
Pushes pixels along luminance to create warped displacement fields.

Dithering
Reduces color resolution into ordered or textured dithering.

Edge Detect
Extracts contrast edges and turns them into graphic outlines.

Fluted Glass
Ribbed lenticular glass distortion with subtle chromatic split.

Halftone
Converts the frame into graphic dot screens and print textures.

Ink
Adds smeared glow and fluid bleed for neon ink-like edges.

Particle Grid
Breaks the image into a glowing particle matrix.

Pattern
Maps the source into repeatable woven and graphic textures.

Pixel Sorting
Sorts neighboring pixels into streaks based on luma or color.

Pixelation
Groups neighboring pixels into larger blocks for a low-res look.

Plotter
Pen-plotter aesthetic with hatching, crosshatching, and ink simulation.

Posterize
Compresses tones into fewer steps while keeping the image graphic.

Progressive Blur
Blur that ramps from sharp to soft across a controllable range.

Slice
Offsets horizontal slices into blocky glitch bands and streaks.

Threshold
Turns the frame into stark black and white with controllable cutoff and grain.

Voxel
Quantizes the frame into isometric cubes; depth raises columns by luminance.
Use it outside the editor
@basementstudio/shader-lab
Portable React/WebGPU runtime — render exported Shader Lab scenes in any React app.
@basementstudio/shader-lab-mcp
MCP server that lets an AI agent drive a running Shader Lab editor tab — create and tweak layers, write custom TSL shaders, and screenshot the canvas.
Both packages and the whole app are open source on GitHub.
The community gallery
Publishing a scene puts it in the community gallery, where anyone can open it, like it, and remix it into their own scene. Remixes credit the original scene and author through a lineage link.
Frequently asked questions
Is Shader Lab free?
Yes. Shader Lab is free to use in the browser, and the runtime and MCP packages are open source. There is no paid tier.
Do I need an account?
No. You can use the whole editor without signing in — your work autosaves into your browser's own IndexedDB storage and nothing is sent to a server. An account (Google or GitHub) is only needed to save drafts to the cloud or publish scenes to the community gallery.
What browsers does it work in?
Shader Lab runs on WebGPU, so it needs a browser with WebGPU enabled — recent versions of Chrome and Edge on desktop, and current Safari and Firefox releases.
Can I use a scene on my own website?
Yes. The @basementstudio/shader-lab npm package is a portable React/WebGPU runtime that renders exported Shader Lab scenes inside any React app.
Can AI agents drive the editor?
Yes. The @basementstudio/shader-lab-mcp package is an MCP server that lets an agent like Claude Code control a running editor tab — adding and tweaking layers, writing custom TSL shaders with real compile feedback, and taking canvas screenshots. Open the editor with ?agent=1 to connect.
What does remixing mean?
Every published scene in the community gallery can be opened in the editor and remixed into a new scene. Remixes keep a lineage credit that links back to the original scene and its author.