Canvas UI
33 WebGL/canvas effects that wrap real HTML, in 6 frameworks
Tier A · StrongShader PackComponent LibraryRegistrycanvasui.dev

Canvas UI by David Haz is a registry of 33 creative effects that render live DOM content inside a canvas element and run WebGL shaders over it, so your actual HTML gets asciified, frosted, dithered, refracted, shattered or melted rather than being replaced by a picture of itself. The catalogue: ASCII Object, Asciify, Bend, Blaze, Bubble, Canvas, Cloth, Clouds, Decrypt Reveal, Displacement, Dithered Object, Droplets, Flame Wrap, Force Field, Frost, Glass, Glass Object, Glitch, Glyph Rain, Grid, Hex Float, Laser, Liquid, Liquid Object, Magnify, Particle Object, Particle Reveal, Particle Scroll, Peel, Retro Dither, Ripple, Shatter and VHS. Each ships as a separate typed source registry entry per framework — React 19, Vue 3.5, Svelte 5, Solid 1.9, Preact 10 and vanilla — for 198 registry items in total, installed through the shadcn CLI.
npx shadcn@latest add @canvas-ui/liquid-reactFor an agent
Install per framework and per effect — the registry name is `@canvas-ui/<effect>-<framework>` (e.g. @canvas-ui/frost-svelte), so read https://canvasui.dev/r/registry.json before guessing a name. The headline trick, rendering live HTML into a canvas, depends on Chrome's experimental html-in-canvas API and needs the canvas-draw-element flag or an origin trial token in production; it falls back to plain HTML elsewhere, so never let a Canvas UI wrapper be the only thing that renders required content, and expect screen readers and text selection to be unreliable inside the canvas. Reach for the *-Object effects (ASCII Object, Dithered Object, Particle Object, Glass Object, Liquid Object) when you want a GLB/glTF or SVG rendered as a hero visual — those are pure three.js and shader work and do not need the flag.
Why it is here. It solves a problem no other registry does — applying a shader to your real, live, interactive DOM — and it does it across six frameworks with typed source, which is why it cleared 3,900 stars quickly.
Facts
- License
- Source available
- Pricing
- Free, Open source
- Framework
- React, Vue, Svelte, Solid, Preact, Vanilla JS
- Styling
- Shader / GLSL, Vanilla CSS
- Distribution
- shadcn registry, CLI installer, GitHub repository, MCP server, Copy-paste snippet
- Platform
- Web
- Content type
- Code, 3D assets and scenes
- Agent readiness
- Machine-readable registry item, CLI installable, MCP server, Structured documentation, Readable open source
- Accessibility
- Known accessibility gaps
- Maturity
- Actively maintained
- Pricing detail
- Free to use, including commercially. The Commons Clause forbids selling, sublicensing or redistributing the components themselves, alone, bundled, or as a port.
- GitHub stars
- 3,975
Components it ships
33 totalHelps you build
2Notable for
- live DOM rendered inside a canvas with WebGL over it
- 198 registry items = 33 effects x 6 frameworks
- GLB/glTF and SVG object renderers
- MIT + Commons Clause, not plain MIT
- needs Chrome html-in-canvas flag or origin trial for the DOM effects
Provenance
Verified 2026-08-15. HTTP 200. https://canvasui.dev/components, https://canvasui.dev/docs, https://canvasui.dev/docs/installation, https://canvasui.dev/docs/mcp, https://canvasui.dev/r/registry.json (198 items parsed), gh api repos/DavidHDev/canvas-ui + contents/LICENSE.md
Also in Textures, Backgrounds & Assets
6- Ditther · Browser tool for dither, halftone, ASCII, Lego and voxel effects on images and video
- fffuel · 67 free browser generators for SVG backgrounds, patterns, gradients and color tools
- Paper Shaders · 30 zero-dependency canvas shaders as React components or vanilla JS, Apache-2.0
- Radiant · Zero-dependency generative shaders as single HTML files, embedded by iframe
- Shader Lab · Browser shader compositor with a WebGPU React runtime for export
- Unsplash · 8.7M free-to-use photos with a free JSON API at 1,000 requests/hour