THE FUTURE

OF THE WEB

IS HERE

TODAY

Enter the Impossible

BUILT WITH CANVEX

WebGL2. Real-time. In your browser.

Enter the Impossible
npm install canvex Copied!
Why Canvex

Real GPU Shaders

Not CSS tricks. Real GLSL fragment shaders on your GPU.

CSS
Canvex
<!-- Just add an attribute --> <button data-canvex="liquid">Click me</button>
Why Canvex

Transform Any HTML

Your existing markup. One import. Impossible results.

Before
Email
Password
Sign In
After
Email
Password
Sign In
Why Canvex

One Line. That's It.

From boring to impossible with a single import.

import { CanvexPage } from 'canvex'; new CanvexPage('#canvas', { background: 'nebula' }).start(); // that's it
Why Canvex

Multiplayer Built-in

See other users' cursors with country flags. Zero config.

🇬🇧Alice
🇯🇵Yuki
🇧🇷Lucas
import { startAll } from '@canvex/sync'; startAll(); // cursors + presence + sync
Why Canvex

Play Your Website

FPS mode. Gravity gun. Portals. Your website is the level.

import { FPSMode } from '@canvex/fps'; new FPSMode(page, { gravityGun: true, portals: true, grappleHook: true });
Why Canvex

18 Packages

Modular and tree-shakeable. Use the whole engine or just one piece.

18
Packages
~4kb
Min per module
0
Dependencies
Why Canvex

60 FPS

Hardware-accelerated WebGL2/WebGPU. Not JavaScript animation loops.

WebGL2 · WebGPU · GPU Compute
Explore the Demos →
18 packages · MIT Licensed · Open Source