paperjs/paper.js — explained in plain English
Analysis updated 2026-06-24 · repo last pushed 2024-07-23
Build an interactive vector drawing app that runs in the browser
Generate SVG output from a Node.js script using paper-jsdom
Render canvas graphics headlessly on a server with paper-jsdom-canvas
Write generative art using the PaperScript syntax with point and color math
| paperjs/paper.js | kriskowal/q | josdejong/mathjs | |
|---|---|---|---|
| Stars | 15,033 | 15,037 | 15,028 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | 2024-07-23 | 2023-11-08 | 2026-05-12 |
| Maintenance | Stale | Dormant | Maintained |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Browser use is one npm install, but the Node canvas variant needs Cairo and Pango installed via the system package manager.
Paper.js is a JavaScript library for drawing and manipulating vector graphics in the browser. Vector graphics are pictures defined by shapes, paths, and curves rather than by a grid of pixels, which is what makes them stay sharp at any zoom level. The library draws onto the HTML5 Canvas element, the part of a web page where scripts can paint freely. The project bills itself as the Swiss Army Knife of vector graphics scripting. It is a JavaScript port of Scriptographer, an older scripting environment for Adobe Illustrator, and it was created by the authors of that earlier project. Beyond using it as a normal JavaScript library, Paper.js also offers PaperScript, a small flavor of JavaScript with extras such as math operators that work on points and colors directly. You install it with npm. There are three packages: paper for use in the browser, paper-jsdom for headless use in Node.js with SVG import and export, and paper-jsdom-canvas for headless Node.js use that also renders to a canvas. The canvas variant builds against the native Cairo and Pango graphics libraries, so the README walks through installing those on macOS, on Debian and Ubuntu Linux, and for Electron apps. The distributed files come in two variants: paper-full.js, which includes PaperScript and the Acorn.js parser it depends on, and paper-core.js, which is smaller and is meant for people writing plain JavaScript. Each variant also has a minified version. The README also documents the development setup, which uses yarn and Gulp to build the library from many source files in the src folder into the distributable files in dist. The full README is longer than what was shown.
Paper.js is a JavaScript library for drawing and manipulating vector graphics on the HTML5 Canvas, with an optional PaperScript flavor for math-friendly point and color operations.
Mainly JavaScript. The stack also includes JavaScript, HTML5 Canvas, Node.js.
Stale — no commits in 1-2 years (last push 2024-07-23).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.