Layers is a browser-based media editor with non-destructive layer compositing, powered by the Noisemaker shader pipeline. It runs entirely client-side.
- Layer stack with opacity, blend modes, visibility, and locking
- GPU-accelerated effects via WebGL shaders (blur, warp, noise, edge detection, dither, and others)
- Selection tools: rectangle, oval, lasso, polygon, magic wand
- Selection operations: expand, contract, feather, smooth, border, color range
- Image and video layer support
- Copy/paste, crop to selection, canvas resize, image resize
- Project persistence via IndexedDB
- Undo/redo with debounced parameter tracking
- Node.js and npm
- A browser with WebGL2 support
npm install
npm run dev
This starts a local server on port 3002.
The shader pipeline is loaded at runtime from the Noisemaker CDN at shaders.noisedeck.app.
End-to-end tests use Playwright:
npm test
- Noisemaker — WebGL shader pipeline (MIT License)
- Mediabunny by Vanilagy — MP4 video encoding via WebCodecs (MPL-2.0 License)
- JSZip — ZIP file generation (MIT License or GPLv3)
- Cormorant Upright, Nunito, Noto Sans Mono — typefaces (OFL-1.1)
- Material Symbols Outlined — icon font by Google (Apache 2.0 License)
Layers is released under the MIT License. Use of name in derivative products is subject to the Trademark Policy.
Copyright 2026 Noise Factor LLC