OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Graphite

Procedural vector graphics editor where every layer is backed by an editable node graph

Visit GraphiteGitHubDocumentation

Main features

  • Vector drawing with shape, Pen and Path tools, fills and gradients
  • Layer panel and node graph as two views of the same document
  • Procedural nodes for repeating, scattering, boolean operations and morphing
  • Nondestructive raster adjustments and filters (experimental)
  • Procedural animation driven by time and pointer input
  • Infinite canvas or fixed artboards
  • Export to PNG, JPG and SVG at any scale
  • Runs offline in the browser and installs as a PWA

What Graphite does

Graphite is a 2D graphics editor built around a procedural engine. On the surface it looks like a conventional vector app: you draw rectangles and ellipses, shape paths with the Pen and Path tools, and apply colors and gradients. Underneath, every action becomes a node in a graph. You can ignore the graph, work only in it, or switch between the two, because the layer panel and the node graph are two views of the same document.

That design makes edits nondestructive. If you copy a shape 25 times around a circle, the count, radius and angle remain parameters you can change later instead of 25 separate objects. The node catalog covers geometry, repetition, scattering, booleans, morphing between shapes, text, color and math, and nodes can be driven by time or pointer position for simple procedural animation.

The project is explicit that this is alpha software. Vector illustration and graphic design are what it does well today. Raster work is limited to importing images, compositing them in the node graph and applying adjustments such as levels, curves and hue/saturation; the brush tool is a prototype that the documentation itself describes as limited and buggy. Photo editing, digital painting, page layout and motion graphics are planned rather than available.

Files and export

Documents are saved as .graphite files. You can import bitmap images and SVG, and export PNG, JPG or SVG of the whole artwork, the selection or a single artboard, at any scale factor. Because artwork is stored as a description rather than fixed pixels, exports render at the requested resolution. PDF export and import of formats such as PDF, PSD and AI are roadmap items.

Running Graphite

Graphite has no server component. The official web app at editor.graphite.art runs entirely in your browser using WebAssembly, works offline once loaded and can be installed as a progressive web app. The project says files stay on your own machine. Native desktop apps for Windows, macOS and Linux are at release-candidate stage, with test builds announced on the project’s Discord. The code is Rust, with a Svelte and TypeScript interface, and can be built from source if you want to serve the web app yourself.

Hosted version

The developers host the web editor for free, and the project is funded by donations. There is no account system or cloud storage today; cloud document sync and live collaborative editing are listed on the roadmap.

Limitations

Graphite is not a replacement for Figma, Canva or a whiteboard. It has no components, prototyping, comments or real-time collaboration, and no templates. As alpha software, its document format and behavior can change between versions, and raster editing is still experimental. Designers who need a mature vector illustration tool today will find more complete options in desktop applications outside this list, such as Inkscape, which is hosted on GitLab.

Who it suits

Graphite suits illustrators, generative artists and designers who like parametric, node-based workflows and are comfortable with an evolving tool. It is also a good fit for anyone who wants a capable vector editor that opens instantly in a browser and keeps files local.

License details

Apache-2.0. Dual-licensed: you may use it under either Apache-2.0 or MIT, unless a file in the repository says otherwise.

Technical details

Self-hosting needs

  • A modern web browser

Built with

  • Rust
  • WebAssembly
  • Svelte
  • TypeScript

GitHub topics

  • 2d-graphics
  • animation
  • art
  • creative-coding
  • design
  • graphic-design
  • graphics
  • graphics-editor
  • image-manipulation
  • image-processing
  • motion-design
  • motion-graphics
  • node-graph
  • photo-editor

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.