automattic/node-canvas

Node canvas is a Cairo backed Canvas implementation for NodeJS.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 41 minutes ago
Added to GitGenius on September 5th, 2026
Created on September 29th, 2010
Open Issues & Pull Requests: 419 (+0)
GitHub issues: Enabled
Number of forks: 1,197
Total Stargazers: 10,690 (+0)
Total Subscribers: 260 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.5 days
Mean response time: 104.3 days
90th percentile: 276.3 days
Tracked items: 288

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 97% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "Installation help" is answered fastest, typically in about 2 days, while "Binaries" waits about 8 weeks. Only 5% of issues opened in the past year have been closed. Three people close 80% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 204
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 1,531 days
Stale 30+ days: 46
Stale 90+ days: 42

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Installation help (60)
  • Text & Fonts (56)
  • Bug (52)
  • Binaries (25)
  • Feature (25)
  • Question (15)
  • Needs more info (14)
  • Help wanted (11)

Detailed Description

node-canvas is a Cairo-backed Canvas implementation for Node.js that brings Web Canvas API functionality to server-side JavaScript environments.

The project solves the problem of generating, manipulating, and rendering graphics programmatically in Node.js without a browser. It wraps Cairo, a mature graphics library, to provide a Canvas API that developers familiar with browser-based canvas drawing can use directly in server applications. This approach allows for image generation, PDF creation, and graphics manipulation on the server side using the same API patterns developers know from the Web platform.

The tool suits projects that need server-side image or PDF generation, such as dynamic image creation services, report generation systems, or graphics processing pipelines. It implements the Web Canvas API as closely as possible, so developers can apply existing canvas knowledge. The project provides utility methods beyond standard Canvas, including image loading, font management, and non-standard output formats like PNG, JPEG, and PDF streams. It requires Node.js 22 or later and provides prebuilt binaries for macOS, Linux, and Windows across multiple architectures, with fallback support for exotic systems via Zig compilation.

The project maintains active continuous integration testing. Development has addressed significant improvements in font handling, worker thread support, and binary size reduction. The tool has expanded platform coverage for prebuilt binaries and removed post-install scripts to simplify installation. The project welcomes contributions for supporting additional exotic systems through its build configuration.