Favicon of Graphite

Graphite

Graphite is a free, open-source 2D graphics engine combining node-based procedural design with layer-based vector and raster editing, built in Rust.

Open Source Alternative to:
Graphite website screenshot
Graphite GitHub repository preview

Graphite is a free, open-source vector and raster graphics engine written in Rust, currently in alpha. It targets designers, illustrators, motion artists, and technically minded creators who want a fully nondestructive editing workflow built around a node graph, rather than a traditional layer-stack-only editor. It's also relevant to Rust or graphics programmers looking for an approachable open-source project to contribute to.

The editor started as a vector tool and is expanding toward a generalized content creation toolbox. Its interface wraps a node graph core, so familiar tools (selection, pen, shapes, boolean operations) generate and edit nodes behind the scenes instead of baking changes into raw pixel or path data. This lets you go back and tweak any step of a design after the fact, similar to how a compositing or game engine pipeline works rather than a flattened image editor.

Graphite is community-built and funded, with development happening in the open on GitHub and coordinated through Discord and other community channels. The roadmap includes photo editing, motion graphics, digital painting, desktop publishing, and VFX compositing, though not all of these are fully built out yet since the project is in alpha.

Key features

  • Node-based procedural editing: every operation, from drawing a shape to applying a boolean operation, is represented as a node you can revisit and adjust later.
  • Nondestructive workflow: layer-based compositing sits on top of the node graph, so edits don't permanently alter source data.
  • Vector and raster support: works across both content types, with an architecture designed to bring photo editing and painting into the same graph-based system.
  • Procedural pattern and fractal generation: infinitely scalable content, like Mandelbrot fractals filled with noise patterns, generated entirely through the node graph.
  • Runs in the browser: an editor build is available directly at editor.graphite.art, no local install required to try it.
  • Rust-based engine: built for performance and memory safety, appealing to contributors who want to work on graphics internals rather than just UI.
  • Apache-2.0 licensed: open for use, modification, and contribution, with some directories dual-licensed MIT/Apache-2.0.

Ideal use cases

Graphite fits designers who want to build reusable, parametric graphics, think generative patterns, procedural illustrations, or designs that need to adapt to variable inputs without manually redoing work. It also suits motion and VFX-curious users who want an editor architected more like a compositing tool than a flat-file image editor, and Rust or graphics engineers who want a real, actively developed codebase to contribute to.

It's a weaker fit if you need a mature, feature-complete replacement for Illustrator, Photoshop, or After Effects today. Graphite is in alpha: some planned capabilities (like desktop publishing and full motion graphics) are previews or roadmap items, not finished features. If your workflow depends on established plugin ecosystems, print production pipelines, or long-term file format stability, wait until the project matures further or evaluate carefully first.

Installation

The simplest way to try Graphite is through the hosted web editor at editor.graphite.art, which requires no setup.

To build and run the project locally or to contribute code, follow the setup guide maintained by the project:

# General flow (see the official guide for exact, current steps):
git clone https://github.com/GraphiteEditor/Graphite.git
cd Graphite
# Install Rust toolchain if not already installed
# Follow build instructions at https://graphite.art/volunteer/guide/

Since Graphite is written in Rust, you'll need a working Rust toolchain (via rustup) and the dependencies described in the project's contributor guide, which covers platform-specific requirements in detail. Code contributions are licensed under Apache 2.0 by default, with some directories dual-licensed under MIT/Apache-2.0.

Frequently asked questions

Share:

Stars
27.6K
Forks
1.3K
Last commit
23 hours ago
Repository age
6 years
License
Apache-2.0
Self-hosted
No
Activity score
82/100
View Repository
Ad
Favicon

 

  
 

Similar to Graphite

Favicon

 

  
 
Favicon

 

  
 
Favicon