Topics / #canvas
Canvas projects on GitHub
Drawing surfaces for 2D graphics, whiteboards, and charts in apps.
As of , the most-starred Canvas projects on GitHub are excalidraw (134K stars), three.js (116.5K stars) and d3 (113.8K stars). GitHub.Locker tracks 87 Canvas repositories with 1.6M stars combined. The fastest-growing on October 16 was lemo-opuscar, with +246 stars in a day.
Hot right now
Most stars gained in a day · Oct 16
+246lemo-opuscar
lemomo-ai/lemo-opuscar · ★ 2.8KLemo-Opuscar is a Claude Code skill that lets Claude Opus 5.5 direct, draw, score and mix short films entirely in code, with 43 ready-made film styles you can apply to your own story.
+202awesome-opus5-5-videos
yihui-dev/awesome-opus5-5-videos · ★ 5.6KA curated, growing collection of viral videos made with Claude Opus 5.5, each paired with the exact prompt its creator shared and a link to the original post.
+77huashu-art-motion
alchaincyf/huashu-art-motion · ★ 4.2Khuashu-art-motion is an agent skill that turns a coding agent into an animator: it writes and runs JavaScript/Canvas code to produce art-style animations, rather than generating video frames directly.
+73onetake
feitangyuan/onetake · ★ 2.6Konetake is a Claude Agent Skill that generates product launch films, teasers and feature demos as one unbroken continuous camera take instead of a slideshow of separate scenes.
The all-time top
87 projects · by stars
- 134K
#1 · excalidraw/excalidrawexcalidraw
An open source virtual whiteboard with a hand-drawn look for sketching diagrams, wireframes and whatever you like — use it at excalidraw.com or embed the npm package in your own app.
- 116.5K
#2 · mrdoob/three.jsthree.js
It's a JavaScript 3D library for the browser: the project aims to be easy-to-use, lightweight, cross-browser and general-purpose. Around since 2010, now over 116,000 GitHub stars.
- 113.8K
- 4

anime
73.7Kjuliangarnier/anime · JavaScriptAnime.js is a fast, multipurpose and lightweight JavaScript animation library with a simple yet powerful API for animating things on the web.
- 5

AFFiNE
73.6Ktoeverything/AFFiNE · TypeScriptAFFiNE is an open-source, all-in-one workspace that merges docs, whiteboards and tables into one knowledge base, positioned as a privacy-first alternative to Notion and Miro.
- 6
Chart.js
67.7Kchartjs/Chart.js · JavaScriptChart.js is a JavaScript library for drawing simple, flexible charts using the HTML5 canvas element.
- 7

echarts
67.5Kapache/echarts · TypeScriptApache ECharts is a free, powerful charting and data visualization library for browsers, written in pure JavaScript, used to add interactive and highly customizable charts to products.
- 8

tldraw
51Ktldraw/tldraw · TypeScripttldraw is an SDK for building infinite canvas apps in React — a feature-complete canvas engine that you can use out of the box as a whiteboard or extend with custom shapes, tools, and UI.
- 9

pretext
50.8Kchenglou/pretext · TypeScriptPretext is a pure JavaScript/TypeScript library for multiline text measurement and layout — fast and accurate, including for languages you may not even know about.
- 10

obsidian-skills
49.7Kkepano/obsidian-skillsThis is a set of Agent Skills for Obsidian that teaches AI coding agents (like Claude Code, Codex, and OpenCode) how to work with Obsidian's Markdown, Bases, and JSON Canvas files, plus the Obsidian CLI.
- 11
pixijs
48.4Kpixijs/pixijs · TypeScriptPixiJS is a 2D rendering engine for the web that uses WebGL and WebGPU to draw fast, interactive graphics like games, data visualizations, and creative sites.
- 12

phaser
40.5Kphaserjs/phaser · JavaScriptPhaser is a fast, free and open source 2D game framework for building HTML5 games that run in desktop and mobile web browsers, rendering with either WebGL or Canvas. It has been actively developed for over 13 years.
- 13

lottie-web
32.2Kairbnb/lottie-web · JavaScriptLottie-web is a JavaScript library that parses Adobe After Effects animations exported as JSON via the Bodymovin plugin and renders them natively in the browser, so designers can ship real animations without an engineer hand-coding them.
- 14

html2canvas
31.9Kniklasvh/html2canvas · TypeScripthtml2canvas is a JavaScript library that takes 'screenshots' of webpages or parts of them directly in the user's browser, without needing a server.
- 15

fabric.js
31.5Kfabricjs/fabric.js · TypeScriptFabric.js is a JavaScript library for working with the HTML5 canvas, letting you create and manipulate interactive shapes, text and images, and convert between SVG and canvas.
- 16

particles.js
30.2KVincentGarreau/particles.js · JavaScriptA lightweight JavaScript library for creating particles: you add it to a web page to get animated, interactive particle backgrounds and effects.
- 17

GSAP
29.3Kgreensock/GSAP · JavaScriptGSAP (GreenSock Animation Platform) is a framework-agnostic JavaScript library for building high-performance animations that work in every major browser.
- 18

univer
22.6Kdream-num/univer · TypeScriptUniver is an open-source SDK for embedding spreadsheet, document, and presentation editing directly into your own product, instead of hosting a separate office app.
- 19

wechat-app-mall
21.9KEastWorld/wechat-app-mall · JavaScriptThis is an open-source WeChat Mini Program e-commerce mall/storefront template that has been maintained long-term, now including support for live-streaming sales.
- 20

rough
21.3Krough-stuff/rough · HTMLRough.js is a small (<9 kB) JavaScript graphics library that makes drawings look sketchy and hand-drawn instead of clean and geometric.
- 21
matter-js
18.5Kliabru/matter-js · JavaScriptMatter.js is a JavaScript 2D rigid body physics engine for the web — a physics simulation you drop into web pages and Node.js apps.
- 22
lightweight-charts
17.6Ktradingview/lightweight-charts · TypeScriptTradingView Lightweight Charts is an open-source library of very small and fast financial charts drawn with HTML5 canvas, for displaying financial data as an interactive chart on a web page.
- 23

WebGL-Fluid-Simulation
16.7KPavelDoGreat/WebGL-Fluid-Simulation · JavaScriptIt is an interactive WebGL demo that simulates fluid dynamics in real time, letting you swirl colorful liquid-like effects with your mouse or finger directly in the browser.
- 24

Luckysheet
16.6Kdream-num/Luckysheet · JavaScriptLuckysheet is a completely open source online spreadsheet like Excel — a powerful, configurable Excel-style grid with formulas, charts and pivot tables that runs in the browser.
- 25

paper.js
15.1Kpaperjs/paper.js · JavaScriptPaper.js is an open-source vector graphics scripting framework for JavaScript, running in the browser on top of the HTML5 Canvas element. It is a JavaScript/browser port of Scriptographer, the original scripting plugin for Adobe Illustrator, built by the same authors.
- 26
drawnix
14.9Kplait-board/drawnix · TypeScriptDrawnix is a free, open-source all-in-one whiteboard tool that combines mind mapping, flowcharts, and freehand drawing on a single infinite canvas.
- 27

konva
14.9Kkonvajs/konva · TypeScriptKonva.js is an open-source 2D canvas framework for the web, used to build interactive graphics: design editors, whiteboards, diagrams, annotations and maps.
- 28

x-spreadsheet
14.6Kmyliang/x-spreadsheet · JavaScriptA web-based JavaScript spreadsheet: an Excel-like, editable grid that runs in the browser.
- 29

nivo
14.1Kplouc/nivo · TypeScriptnivo is a React component library for building data visualizations, built on top of d3 with support for SVG, HTML and Canvas rendering.
- 30

noVNC
14.1Knovnc/noVNC · JavaScriptnoVNC is an HTML5 VNC client that lets you connect to and control a remote desktop straight from a web browser, with no plugins needed. It powers browser-based remote access in projects like OpenStack, OpenNebula and ThinLinc.
- 31

react-canvas
13.2KFlipboard/react-canvas · JavaScriptReact Canvas is an open-source library from Flipboard that lets React components render to a canvas instead of the DOM, for building faster, app-like mobile web interfaces.
- 32

daedalOS
13.1KDustinBrett/daedalOS · JavaScriptdaedalOS is a full desktop environment that runs entirely in your browser, complete with a file explorer, draggable/resizable windows, a taskbar, a start menu, and dozens of built-in apps, emulators, and games.
- 33

note-gen
12.9Kcodexu/note-gen · TypeScriptNoteGen is a local-first Markdown note app that lets you quickly capture scattered fragments like text, voice recordings, screenshots, links, or files, then use AI later to organize them into structured notes.
- 34

piskel
12.8Kpiskelapp/piskel · JavaScriptPiskel is an easy-to-use, web-based sprite editor for creating game sprites, animations, and pixel art.
- 35

canvas-confetti
12.8Kcatdad/canvas-confetti · JavaScriptcanvas-confetti is a lightweight JavaScript library that renders performant confetti animations in the browser using a canvas element.
- 36
G2
12.6Kantvis/G2 · TypeScriptG2 is a visualization grammar library for building charts, dashboards, data exploration, and storytelling, inspired by Leland Wilkinson's book 'The Grammar of Graphics'.
- 37

highcharts
12.5Khighcharts/highcharts · TypeScriptHighcharts is a JavaScript charting library for building interactive charts, maps, and dashboards, rendered mainly with SVG and some canvas/WebGL.
- 38
G6
12.3Kantvis/G6 · TypeScriptG6 is a graph visualization framework for the web: an engine for drawing, laying out, analyzing and interacting with relational data like networks, with animation, themes and plugins.
- 39
signature_pad
12.1Kszimek/signature_pad · TypeScriptA JavaScript library for drawing smooth signatures in the browser, based on HTML5 canvas and variable-width Bézier curve interpolation from Square's Smoother Signatures post.
- 40

WebRTC-Experiment
12.1Kmuaz-khan/WebRTC-Experiment · JavaScriptA one-stop hub of WebRTC demos, experiments and JavaScript libraries: screen sharing, video conferencing, file sharing, recording, collaborative drawing and voice translation.
- 41

vega
12Kvega/vega · JavaScriptVega is a declarative visualization grammar: you describe charts and interactive views in a JSON format, and Vega renders them using HTML5 Canvas or SVG.
- 42

dom-to-image
10.8Ktsayen/dom-to-image · JavaScriptdom-to-image is a JavaScript library that turns any DOM node into an image — either a vector SVG or a raster PNG/JPEG — rendered with HTML5 canvas.
- 43

node-canvas
10.7KAutomattic/node-canvas · JavaScriptnode-canvas is a Cairo-backed implementation of the HTML5 Canvas API for Node.js, letting you draw shapes, images and text on the server and export the result as PNG, JPEG, PDF or SVG.
- 44

zdog
10.7Kmetafizzy/zdog · JavaScriptZdog is a round, flat, designer-friendly pseudo-3D engine for the web: you build 3D models in JavaScript by adding shapes, and it renders them with 2D drawing APIs to canvas or SVG.
- 45

ai-town
10.7Ka16z-infra/ai-town · TypeScriptAI Town is an MIT-licensed starter kit for building a virtual town where AI characters live, chat, and socialize with each other.
- 46
krita
10.6KKDE/krita · C++Krita is a free, open-source digital painting application for creating professional illustrations, comics, concept art, and texture/VFX work from start to finish, built on the KDE and Qt frameworks.
- 47

Pixelorama
10.6KOrama-Interactive/Pixelorama · GDScriptPixelorama is a free and open-source pixel art multitool: an editor for creating sprites, tiles and animations, with a large toolbox built around pixel art and game art.
- 48
uPlot
10.6Kleeoniya/uPlot · JavaScriptuPlot is a small (~50 KB min), fast, MIT-licensed JavaScript charting library for time series, line, area, OHLC and bar charts, drawn on Canvas 2D in the browser.
- 49

leonsans
10.2Kcmiscm/leonsans · JavaScriptLeon Sans is a geometric sans-serif typeface that is generated with code instead of being a static font file, letting you render and animate it in the HTML5 Canvas element.
- 50

trianglify
10.1Kqrohlf/trianglify · JavaScriptTrianglify is a JavaScript library that algorithmically generates colorful triangle-mesh background images as SVG — decorative low-poly-style patterns you can drop into a web page.
- 51

react-native-skia
8.7Kwcandillon/react-native-skia · TypeScriptReact Native Skia brings Google's Skia graphics engine (the renderer used by Chrome and Android) to React Native, letting you write high-performance 2D graphics, shaders, and animations using a React component API.
- 52

html-ppt-skill
8.7Klewislulu/html-ppt-skill · HTMLhtml-ppt (HTML PPT Studio) is an AgentSkill that lets AI coding agents generate professional HTML presentations — complete with 36 themes, 31 page layouts, 15 full-deck templates and 47 animations, plus a presenter mode — all as pure static HTML/CSS/JS with no build step.
- 53
infinite-canvas
7.7Kbasketikun/infinite-canvas · TypeScriptAn open-source infinite canvas workbench for AI creation: it puts canvas orchestration, AI image generation, reference-image editing, a chat assistant, a prompt library and asset management in one interface.
- 54

Cowart
6Kzhongerxin/Cowart · JavaScriptCowart is a native infinite canvas widget plugin for Codex, built on tldraw, used for sketching ideas, annotating, generating images from prompts, and iterating on images based on annotations.
- 55

awesome-opus5-5-videos
5.6Kyihui-dev/awesome-opus5-5-videosA curated, growing collection of viral videos made with Claude Opus 5.5, each paired with the exact prompt its creator shared and a link to the original post.
- 56

canvas-ui
5KDavidHDev/canvas-ui · TypeScriptCanvas UI is an open-source library of creative canvas components for building live, interactive web effects. Each component draws fluid simulations, shader effects, or 3D scenes directly over your real, still-clickable HTML.
- 57

huashu-art-motion
4.2Kalchaincyf/huashu-art-motion · JavaScripthuashu-art-motion is an agent skill that turns a coding agent into an animator: it writes and runs JavaScript/Canvas code to produce art-style animations, rather than generating video frames directly.
- 58

axton-obsidian-visual-skills
3.6Kaxtonliu/axton-obsidian-visual-skillsA Visual Skills Pack that gives Claude Code the ability to turn plain text into Obsidian Canvas, Excalidraw, and Mermaid diagrams on request.
- 59

lemo-opuscar
2.8Klemomo-ai/lemo-opuscar · JavaScriptLemo-Opuscar is a Claude Code skill that lets Claude Opus 5.5 direct, draw, score and mix short films entirely in code, with 43 ready-made film styles you can apply to your own story.
- 60

onetake
2.6Kfeitangyuan/onetake · Pythononetake is a Claude Agent Skill that generates product launch films, teasers and feature demos as one unbroken continuous camera take instead of a slideshow of separate scenes.
- 61
PDoomVideo
2.2KJohnHeibel/PDoomVideo · JavaScriptThe source code behind 'I'm Upping My P(doom)', a music video generated entirely by Claude Opus 5.5 in Claude Code — every scene, character and transition came from the model, not a human animator.
- 62

breakscale
1.7Kxevrion/breakscale · TypeScriptBreakscale is a system design simulator where you place components on a canvas, wire them together, then drag a traffic slider and watch a real discrete-event simulation show latency, queues, and failures emerge, so you can learn how distributed systems behave under load.
- 63

agor
1.5Kpreset-io/agor · TypeScriptAgor is a web workspace that brings teams and AI coding agents together on live spatial boards, letting people run agents like Claude Code, Codex, and Gemini on isolated git branches while sharing memory, skills, and dev environments.
- 64

Vela
1.2KLuxAlgo/Vela · TypeScriptVela is a free, open-source library for building fast financial charts in the browser, built around a headless core with a native WebGL2 renderer (canvas2d fallback) and a plugin SDK for swapping in custom data, scripting engines, and renderers.
- 65

mg-styles-15
960Vincentwei1021/mg-styles-15 · PythonA collection of 15 ten-second motion-design films, each in a different visual style, all made by Claude Opus 5.5 writing code from a single text prompt. The repo publishes every film along with its style notes, full prompt and complete source code.
- 66

ohmygame
900WhiteTowerAI/ohmygame · TypeScriptOhMyGame is an open-source desktop app that acts as a one-person game studio: an AI agent writes the design doc, generates art, video and 3D assets, codes the game, playtests it, and publishes a shareable link, all from one canvas.
- 67

doop
870kgoedecke/doop · TypeScriptDoop is an open-source, self-hosted alternative to Paper.design: a multiplayer design canvas where humans design in the browser while AI agents design through a built-in MCP server, with every edit streaming live to everyone watching.
- 68
open-pencil-cloud
591yoohoo360/open-pencil-cloud · TypeScriptAn AI-native, open-source Figma alternative: a product fork of the OpenPencil design editor. It keeps the upstream engine (.fig/.pen, CanvasKit rendering, SceneGraph) and adds a React shell, cloud documents, and internal deployment.
- 69

explainroo
579vincentsch/explainroo · JavaScriptexplainroo lets a coding agent turn a script into a narrated explainer video or product demo. It uses a local voice model for narration, Whisper for word timing, and a canvas renderer to draw synced illustrations, then ffmpeg assembles everything into an MP4.
- 70

dsh-synapse
533liangmianya/dsh-synapse · JavaScriptdsh-synapse is a visual, non-linear conversation workspace plugin for DeepSeek Harness (DSH) that turns the follow-ups, branches, and sessions in a workspace into one browsable, draggable, zoomable map.
- 71

procedural-film
511kuhnhomeuk-cell/procedural-film · JavaScriptAn agent skill that turns a topic into a 30-second vertical film, with every pixel drawn in vanilla JavaScript on a canvas and every sound synthesised with Web Audio, so no stock footage or audio files are used. It outputs a self-contained HTML player plus MP4 exports.
- 72

AdCraft
422GML-MMGroup/AdCraft · PythonAdCraft is an agentic AI video production platform for making advertising videos end-to-end, from a vague idea to a finished ad, orchestrated by a team of specialized AI agents on an editable infinite canvas.
- 73

robot-heads
353fayazara/robot-heads · TypeScriptrobot-heads is a React component library that renders animated, TV-headed robot avatars with LED-matrix faces showing what an AI agent is currently doing — thinking, searching, listening, speaking and more.
- 74

sylva
348MengTo/sylva · HTMLSylva is an interactive Three.js landscape study: a procedural, moss-covered root grows through an editorial conservation scene and reacts to the pointer as if it were alive.
- 75

riso-windowseat
297sevenevesai/riso-windowseat · HTMLProcedural risograph-style animated films, each a single self-contained HTML file of Canvas 2D and Web Audio, plus the Claude Code skills, craft docs and tools used to make them.
- 76

vistep
240int64ago/vistep · TypeScriptvistep.ai is a bilingual collection of short visual stories that explain everyday mechanisms, science and computation, letting you watch a process happen and then experiment with the underlying model.
- 77

agent-weave
205bushm2092-del/agent-weave · TypeScriptAgentWeave is a local-first, spatial workspace for running individual AI agents and coordinating multi-agent teams on an infinite canvas, supporting providers like Codex, Claude, OpenCode, and Pi.
- 78

bead-grid-studio
194zwhy149/bead-grid-studio · JavaScriptBead Grid Studio is a local-first tool that turns an image into an editable, printable fuse-bead (pindou) pattern, with auto color matching, grid coordinates, and material usage stats.
- 79

dsh-openpencil
186ZSeven-W/dsh-openpencil · TypeScriptDSH OpenPencil is a plugin that connects DeepSeek Harness (DSH) to OpenPencil, letting an AI agent drive a real, editable, interactive design canvas inside a conversation instead of just returning a generated image.
- 80

kool-brushez
185blakeshao/kool-brushez · JavaScriptA small p5.js drawing app with six expressive brushes (Score, Schematic, Balloon, Subway, Crowd, Gunpla) that all draw onto one shared canvas.
- 81

kindergrimm
171albertobeiz/kindergrimm · JavaScriptA procedural generator that draws hand-sketched doodle characters directly on canvas, rigs each one bone-by-bone for animation, and wraps them into several small browser games and tools under the name Kindergrimm.
- 82

Jelly-Baby
170scottstts/Jelly-Baby · JavaScriptJelly Baby is a small 3D web toy: a bouncy jelly character living on a tabletop that you poke, stretch, and bounce around on a swing or trampoline, with no goals or scoring.
- 83
loadersz-core
163lumberjacque/loadersz-core · TypeScriptloadersz is a dependency-free Canvas loading-animation library for the browser, shipped as a native Web Component with a small imperative TypeScript API and 150 switchable motion states.
- 84

genart-skill
152camilleroux/genart-skill · JavaScriptgenart is a Claude Code plugin that teaches Claude the technical and ethical groundwork of generative art — seeding a PRNG from a token hash, deterministic rendering, trait and rarity design — and ships scripts to verify a sketch is actually deterministic before you mint it onchain.
- 85

react-native-skia
149wcandillon/react-native-skia · TypeScriptReact Native Skia brings Google's Skia Graphics Library into React Native apps, giving them the same high-performance 2D rendering engine that powers Chrome, Android, Flutter and Firefox.
- 86

PCB_lightgraph_Portable
146Ashlixy17/PCB_lightgraph_Portable · HTMLThis is a portable, browser-based web version of PCB_lightgraph — a tool that converts 2D illustrations into layered PCB production artwork (copper traces, soldermask, silkscreen, backlight layer) for making light-up PCB art pieces.
- 87

astra-chatgpt-hyperframes
141Tejashmakwana/astra-chatgpt-hyperframes · JavaScriptThis is the reproducible source for a ChatGPT-themed motion-design video, adapted from motion designer Rajmoni's (@Nexaabyraj) original reference and rendered with Hyperframes. It ships the raw assets, render scripts and a verification report so anyone can rebuild the exact MP4.
Related topics
Often tagged together