2D vector & raster editor that melds traditional layers & tools with a modern node-based, non-destructive, procedural workflow. https://graphite.rs
Find a file
Firestar99 2b380cec3a
Fix more node migrations that lost their implementations (#2836)
* fix migration for `SampleGradientNode`

* fix `BrushNode` unadjusted path

* fix `NoisePatternNode` unadjusted path
2025-07-06 02:00:07 -07:00
.cargo Unify feature dependencies with workspace dependencies (#2736) 2025-06-21 16:26:25 -07:00
.devcontainer Replace Footprint/() call arguments with dynamically-bound Contexts (#2232) 2025-03-06 05:35:56 -08:00
.github Run CI for non master branches (#2763) 2025-06-27 14:40:54 +02:00
.nix Replace Rustybuzz with Parley for text layout, and add text tilt parameter (#2739) 2025-07-01 02:23:17 -07:00
.vscode Add new icons to all menu bar entries 2025-02-07 19:08:06 -08:00
demo-artwork Clean up node catalog by adding missing units, more tooltips; fix 'Line' node missing parameters (#2813) 2025-07-01 07:47:54 -07:00
editor Fix more node migrations that lost their implementations (#2836) 2025-07-06 02:00:07 -07:00
frontend Update allowed license signatures 2025-07-06 01:01:44 -07:00
libraries Reduce development environment warnings and remove DWARF debug symbols (#2741) 2025-06-22 03:10:25 -07:00
node-graph Make selected Text category nodes show a multi-line text area instead of one-line text field (#2816) 2025-07-05 11:34:35 +00:00
proc-macros Remove unused dependencies from the Cargo.toml files via cargo shear (#2723) 2025-06-19 20:28:17 -07:00
website Add videos to the website home page and features page 2025-06-30 10:04:37 -07:00
.editorconfig Remove all references to Vue 2023-03-10 04:02:02 -08:00
.envrc Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
.gitattributes Update Git Attributes for JSON syntax highlighting in *.graphite files (#1752) 2024-05-13 22:35:32 +00:00
.gitignore Replace Rustybuzz with Parley for text layout, and add text tilt parameter (#2739) 2025-07-01 02:23:17 -07:00
.nvmrc Add dev container configuration 2024-01-24 23:04:00 +00:00
.prettierrc Fix Bezier-rs interactive demos and migrate its Webpack bundler to Vite 2024-01-04 23:13:40 -08:00
about.hbs Replace license generator web infra to use Vite 2023-11-13 03:38:36 -08:00
about.toml Update allowed license signatures 2025-07-06 01:01:44 -07:00
Cargo.lock Extract gbrush (#2784) 2025-07-01 18:38:47 +00:00
Cargo.toml Fix running tests locally; fix migrations for relocated nodes (#2805) 2025-07-04 02:56:22 -07:00
deny.toml Update allowed license signatures 2025-07-06 01:01:44 -07:00
LICENSE.txt Add Apache 2 license 2020-07-12 13:58:50 -07:00
package-lock.json Add dev container configuration 2024-01-24 23:04:00 +00:00
package.json Update Tauri to v2 and execute only the node graph in native (#2362) 2025-04-14 11:43:15 +00:00
README.md Update the video on the project readme 2025-06-30 15:53:02 -07:00
rustfmt.toml Upgrade to the Rust 2024 edition (#2367) 2025-03-12 17:29:12 -07:00
shell.nix Fix missing cargo-about in nix shell (#2665) 2025-05-28 12:41:52 +02:00

Graphite logo

Your procedural toolbox for 2D content creation

Graphite is a free, open source vector and raster graphics engine, available now in alpha. Get creative with a fully nondestructive editing workflow that combines layer-based compositing with node-based generative design.

Having begun life as a vector editor, Graphite continues evolving into a generalized, all-in-one graphics toolbox that's built more like a game engine than a conventional creative app. The editor's tools wrap its node graph core, providing user-friendly workflows for vector, raster, and beyond. Photo editing, motion graphics, digital painting, desktop publishing, and VFX compositing are additional competencies on the planned roadmap making Graphite into a highly versatile content creation tool.

Learn more from the website, subscribe to the newsletter, consider volunteering or donating, and remember to give this repository a !


Discord      Reddit      Bluesky      Twitter      YouTube

https://github.com/user-attachments/assets/f4604aea-e8f1-45ce-9218-46ddc666f11d

Support our mission ❤️

Graphite is 100% community built and funded. Please become a part of keeping the project alive and thriving with a donation if you share a belief in our mission:

Graphite strives to unshackle the creativity of every budding artist and seasoned professional by building the best comprehensive art and design tool that's accessible to all.

Mission success will come when Graphite is an industry standard. A cohesive product vision and focus on innovation over imitation is the strategy that will make that possible.

Screenshots

Made using nondestructive boolean operations and procedural polka dot patterns

Mandelbrot fractal filled with a noise pattern, procedurally generated and infinitely scalable

Design for a magazine spread, a preview of the upcoming focus on desktop publishing

Contributing/building the code

Are you a graphics programmer or Rust developer? Graphite aims to be one of the most approachable projects for putting your engineering skills to use in the world of open source. See instructions here for setting up the project and getting started.

By submitting code for inclusion in the project, you are agreeing to license your changes under the Apache 2.0 license, and that you have the authority to do so. Some directories may have other licenses, like dual-licensed MIT/Apache 2.0, and code submissions to those directories mean you agree to the applicable license(s).