None, figma is built with wasm + complex canvas manipulations, you won't find the advanced snapping feature in any js library Answer from s____s___ on reddit.com
๐ŸŒ
Konva
konvajs.org
Konva - JavaScript Canvas 2d Library
Konva is 2d Canvas JavaScript framework for drawings shapes, animations, node nesting, layering, filtering, event handling, drag and drop and much more.
API Reference
Should Konva automatically update canvas on any changes. Default is true ยท Should we enable hit detection while dragging? For performance reasons, by default it is false. But on some rare cases you want to see hit graph and check intersections. Just set it to true
Tutorials
Get started with Konva.js, the most popular 2D HTML5 Canvas JavaScript framework. Learn to draw shapes, handle events, drag-and-drop, and animate โ€” with React, Vue, Svelte, and Angular support.
Demos
Interactive Konva Demos
React
Get started with react-konva, the official React binding for Konva.js. Draw shapes, handle events, drag-and-drop, and animate on HTML5 Canvas using React components.
Discussions

[AskJS] What is the best canvas library to make an app like figma or integromat?

None, figma is built with wasm + complex canvas manipulations, you won't find the advanced snapping feature in any js library

More on reddit.com
๐ŸŒ r/javascript
45
81
August 28, 2021
Recommend 2D Library
Even for 2D i found myself using threejs a lot for this type of requirement. By rendering the SVG to a texture and using an instanced quad per shape. I made jigsaw puzzles and maps with this technique. Also wrote about it here if you want to learn more: https://tips4devs.com/articles/make-a-webgl-powered-us-counties-map-with-d3-and-three-js.html Edit: note that with this approach you're rasterizing you vector image so you get limited in resolution use only two triangles per shape. So it's a good trade of in some situations only. More on reddit.com
๐ŸŒ r/webgl
3
4
December 26, 2021
Most performant 2D immediate-mode drawing library for the web?
https://threejs.org/ More on reddit.com
๐ŸŒ r/gamedev
5
6
January 29, 2021
r/javascript on Reddit: Why JS 2D libraries base on scene graph?
Is there any engine/library that ... all textures on canvas? If not why is that? Is it a performance leak that poor JS interpreters cant handle (that would be my best bet)? I have a problem, because most of libraries are more closer to game maker than 2D libraries... More on reddit.com
๐ŸŒ r/javascript
September 16, 2015
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Web โ€บ API โ€บ Canvas_API
Canvas API - Web APIs | MDN
Scrawl-canvas is an open-source JavaScript library for creating and manipulating 2D canvas elements.
๐ŸŒ
Fabric.js
fabricjs.com
Fabric.js Javascript Library
Fabric provides interactive object model on top of canvas element Fabric also provide serialization and has SVG-to-canvas (and canvas-to-SVG) parser ยท On-canvas text editing with rich styling, IME and curve support
๐ŸŒ
Medium
drabstract.medium.com โ€บ your-guide-to-selecting-a-javascript-canvas-library-or-framework-3584f4512a30
Selecting a JavaScript Canvas Library or Framework | by Dr Abstract | Medium
September 28, 2022 - Pixi.js a 2D canvas / WebGL rendering engine with a BOM and events ... CreateJS at http://createjs.com is โ€œa JavaScript library that makes working with the HTML5 Canvas element easy.
๐ŸŒ
Js
two.js.org
Two.js โ€ข Homepage
A two-dimensional drawing api geared towards modern web browsers. It is renderer agnostic enabling the same api to draw in multiple contexts: svg, canvas, and webgl.
๐ŸŒ
GitHub
github.com โ€บ raphamorim โ€บ awesome-canvas
GitHub - raphamorim/awesome-canvas: A curated list of awesome HTML5 Canvas with examples, related articles and posts. ยท GitHub
ZIM - ZIM is a general Canvas Framework with simple, powerful JavaScript that lets everyone, from beginners to professionals, code creativity. zrender - A lightweight canvas library which providing 2d draw for Apache ECharts (incubating)
Starred by 1.8K users
Forked by 160 users
Languages ย  Markdown
๐ŸŒ
Envato Tuts+
webdesign.tutsplus.com โ€บ home โ€บ web design โ€บ html/css โ€บ animation
Best Free Canvas Libraries in JavaScript | Envato Tuts+
June 24, 2021 - There are a lot of libraries available for drawing and animating things with the help of canvas. You can visualize any kind of data or a variety of chart types with a library like D3.js, and you also have the option to keep things simple with a library like Chart.js. Similarly, you can create physics-based simulations with Matter-js or animate 2D shapes with Two.js.
Find elsewhere
๐ŸŒ
Best of JS
bestofjs.org โ€บ projects
Canvas projects
Best of JS is a project by Michael Rambeau, made in Osaka, Japan
๐ŸŒ
CanvasJS
canvasjs.com โ€บ home
Beautiful JavaScript Charting Library with 10x Performance
September 12, 2025 - HTML5 JavaScript Charting Library with a Simple API. Renders across devices & is 10x faster than SVG Charts. Examples include source code
๐ŸŒ
W3Schools
w3schools.com โ€บ html โ€บ html5_canvas.asp
HTML Canvas
After creating the rectangular canvas area, you must add a JavaScript to do the drawing. ... <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.moveTo(0, 0); ctx.lineTo(200, 100); ctx.stroke(); </script> Try it Yourself ยป
๐ŸŒ
Draw
drawjs.github.io
Draw | A basic 2d canvas graph library
Draw.js is a basic 2d canvas graph library, which is under development currently.
๐ŸŒ
Konva
konvajs.org โ€บ canvas editor
How to Build a Design Editor with JavaScript Canvas | Konva - JavaScript Canvas 2d Library
This is a demonstration of full canvas editor made with Konva. The demo is made by polotno.dev SDK. Polotno is a very opinionated JavaScript framework that built on top of Konva and React. You can make logos, presentations, designs for social media with it.
๐ŸŒ
MDN Web Docs
developer.mozilla.org โ€บ en-US โ€บ docs โ€บ Web โ€บ API โ€บ CanvasRenderingContext2D
CanvasRenderingContext2D - Web APIs | MDN
Returns an object containing the context attributes used by the browser. Context attributes can be requested when using HTMLCanvasElement.getContext() to create the 2D context. ... Returns true if the rendering context was lost. There are three methods that immediately draw rectangles to the canvas.
๐ŸŒ
Medium
medium.com โ€บ @rajeshmanikumarg โ€บ top-5-open-source-javascript-whiteboard-canvas-libraries-9866d6f545a4
Top 5 Open Source JavaScript Whiteboard & Canvas Libraries | by Rajesh Mani Kumar G | Medium
September 9, 2023 - A whiteboard & canvas library is a JavaScript library that allows you to create and manipulate graphics on a canvas element. Theseโ€ฆ
๐ŸŒ
Openbase
openbase.com โ€บ categories โ€บ js โ€บ best-javascript-canvas-libraries
10 Best JavaScript Canvas Libraries in 2023 | Openbase
A comparison of the 10 Best JavaScript Canvas Libraries in 2023: @crello/react-lottie, ngx-lottie, tsparticles, signature_pad, konva and more
๐ŸŒ
ABSTACK
abstack.pk โ€บ post โ€บ best-javascript-canvas-libraries-in-2021
Best JavaScript Canvas Libraries in 2021 - ABStack.pk
September 11, 2021 - The matter-js package is a 2D rigid body physics engine built-in JavaScript. You may use it to mimic primitive physics systems on the canvas.
๐ŸŒ
Libhunt
js.libhunt.com โ€บ libs โ€บ canvas
JavaScript Canvas libraries | LibHunt
Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications. ... JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.