Awesome Canvas

A curated list of awesome Canvas examples, related articles and posts. Inspired by awesome-python
.
Contributing
Please take a quick gander at the contribution guidelines
first.
Summary
Canvas
Definition
“Added in HTML5, the HTML <canvas> element can be used to draw graphics via scripting in JavaScript. For example, it can be used to draw graphs, make photo compositions, create animations or even do real-time video processing or rendering.” by Mozilla Developer Network
Examples
Some good examples about creation with canvas.
Libraries
To draw using canvas
-
Akihabara is HTML5 games library for making pixel based games using Javascript and the canvas tag.
-
Chart.js
is a lightweight JavaScript library for creating dynamic and visually appealing charts using the HTML5 Canvas element.
-
ChemDoodle is an open source chemistry and chem-informatics toolkit where canvas is being used to solve common chemistry related tasks, displaying the molecules in a variety of different ways.
-
d3
(or D3.js) is a JavaScript library for visualizing data using web standards. D3 helps you bring data to life using SVG, Canvas and HTML.
-
EaselJS is a JavaScript library that makes working with the HTML5 Canvas element easy. Useful for creating games, generative art, and other highly graphical experiences. EaselJS is part of CreateJS - a modular libraries and tools which work together or independently to enable rich interactive content on open web technologies via HTML5.
-
fabric.js provides interactive object model on top of canvas element
and also has SVG-to-canvas (and canvas-to-SVG) parser
-
iio.js
- A javascript library that speeds the creation and deployment of HTML5 Canvas applications
-
isomerjs - An isometric graphics library for HTML5 canvas
-
Javascript-Voronoi
- A Javascript implementation of Fortune’s algorithm to compute Voronoi cells
-
Konva
- Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.
-
Origami.js
- JS Lib to redesign canvas API interface
-
p5.js - p5.js is a JS client-side library for creating graphic and interactive experiences
-
Paper.js
- Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
-
Pencil.js - Nice modular Javascript library with clear OOP syntaxe and lots of features.
-
Pixi.js - Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback
-
Processingjs is a data visualization programming language.
-
Proton
is a lightweight and powerful javascript particle engine. With it you can easily create countless cool effects
-
Pts.js - Pts is a javascript library for visualization and creative-coding.
-
Rough.js - Rough.js is a graphics library that lets you draw in a sketchy, hand-drawn-like, style
-
Scrawl-canvas - easily add multiple responsive, accessible and interactive <canvas> elements to a web page
-
Sketch
- Cross-Platform JavaScript Creative Coding Framework
-
Three.js is a javascript library that makes WebGL - 3D in the browser, however you can render using canvas instead of WebGL
-
tsParticles is a lightweight library for creating easily particles animations. It includes ready to use components for the most used Javascript frameworks (ReactJS, VueJS, Angular, etc.)
-
Visualize
is a JQuery plugin who creates charts and graphs from tabular data using the HTML canvas element.
-
zDog
- Flat, round, designer-friendly pseudo-3D engine for canvas & SVG
-
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)
For other purposes, but still use canvas
-
React Canvas
- High performance
Resources
Where to discover more about Canvas.
Talks
Books
Websites and Tutorials
-
Mozilla Developer Network Canvas Tutorial - This tutorial describes how to use the
- HTML5 Canvas Tutorials
- 31 days of canvas
-
Dev.Opera: HTML5 Canvas — the Basics - This article takes you through the basics of implementing a 2D canvas context, and using the basic canvas functions, including lines, shape primitives, images, text, and more. You are assumed to have mastered JavaScript basics already.
-
Breakout - a fantastic tutorial for any canvas programming wannabes, where he runs through the steps needed to create a Breakout clone. The tutorial consists of 12 very clear and concise steps, where you can view a demo of how your project should look so far.
-
Canvas Demos by David Walsh - 9 Mind-Blowing Canvas Demos with their respective source code.
-
Procedural Drawing in Canvas - a tutorial that explains more about how procedural drawing works so that others can also learn the skill and start producing their own patterns.
- The canvas element in the HTML5 draft standard
- Internet Explorer 9 Guide for Developers: HTML5 canvas element
-
Accelerated Game Programming with HTML5 and canvas - this tutorial describes the structure of a typical game class in JavaScript, drawing to the canvas, double buffering, map/tile representation and player movement.
-
Physics for Lazy Game Developers - Provides examples of velocity, acceleration, collisions, rotation and particle effects.
-
Draw Particles using HTML5 Canvas - Shortcut tutorial shows how create simple and colorful particles.
- Create a game chracter with HTML5 and JavaScript - Part 1
- Create a game chracter with HTML5 and JavaScript - Part 2
- Khan Academy - Hour of Drawing with Code
-
Making a Lunar Lander in JavaScript - A 5 lesson tutorial that explain how to make a Lunar Lander game in JavaScript.
-
W3Schools Canvas Tutorial - Tutorial covering various features and methods and with many practical examples
License
The content of this project itself is licensed under the Creative Commons Attribution 3.0 license.