fabricjs/fabric.js

Javascript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 13th, 2026
Created on June 9th, 2010
Open Issues & Pull Requests: 467 (+0)
GitHub issues: Enabled
Number of forks: 3,621
Total Stargazers: 31,435 (+0)
Total Subscribers: 467 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Fabric.js is a JavaScript HTML5 canvas library that provides interactive drawing and manipulation capabilities for web applications.

The library solves the problem of building interactive canvas-based interfaces by offering out-of-the-box interactions such as scaling, moving, rotating, and skewing objects. It includes built-in shapes, controls, animations, image filters, gradients, patterns, and brushes. A key distinguishing feature is its bidirectional SVG support, enabling both SVG-to-canvas parsing and canvas-to-SVG export. The tool handles multiple file formats including JPG, PNG, JSON, and SVG for input and output operations.

Fabric.js suits developers building interactive drawing applications, design tools, or any project requiring rich canvas manipulation. The library is typed and modular, allowing developers to import only the features they need through separate packages: the core runtime, browser-specific and Node.js-specific entry points, and optional extension packages. Existing applications can continue using the legacy fabric package, while new projects should prefer the explicit @fabricjs/browser or @fabricjs/node entry points. The tool supports modern browsers including Firefox, Safari, Chrome, Opera, and Edge, as well as Node.js environments, though it does not use polyfills by default since canvas APIs cannot be transpiled.

The project maintains active development with regular updates to its codebase. The maintainers have invested in security practices, achieving OpenSSF Best Practices recognition. The library includes comprehensive unit testing as part of its development workflow. The modular architecture has evolved to support multiple installation targets, with the team providing clear migration guidance for users transitioning from the legacy package structure to the new environment-specific packages.