nannou-org/nannou

A Creative Coding Framework for Rust.

Rust

6,765

2,162 commits

updated Jul 15, 2026

See the code

README

nannou Actions Status Backers on Open Collective Sponsors on Open Collective

nannou_logo

An open-source creative-coding toolkit for Rust.

nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.

The project was started out of a desire for a creative coding framework inspired by Processing, OpenFrameworks and Cinder, but for Rust. Named after this.

nannou is built on the Bevy game engine. Its crates are exposed as a set of Bevy plugins, so nannou's familiar sketch/app API and Draw interface can be used on their own or dropped into any Bevy application.

123

A Quick Note

It is still early days and there is a lot of work to be done. Feel free to help out!

The Guide

Examples

The following collection of examples are a great way to get familiar with nannou.

DirectoryDescription
examples/A collection of examples demonstrating how to use nannou!
generative_design/Examples from Generative Gestaltung, ported from p5.js to nannou.
nature_of_code/Examples from Nature of Code, ported from Processing to nannou.

If you spot an example that interests you, you may run it with the following:

cargo run --release --example <example_name>

where <example_name> is the example's file name without the .rs. Note that the first run might take a while in order to build nannou first, but consecutive runs should be much quicker.

Libraries

The following nannou libraries are included within this repository.

LibraryLinksDescription
nannouCrates.io docs.rsApp, sketching, graphics, windowing and UI.
nannou_audioCrates.io docs.rsAudio hosts, devices and streams.
nannou_coreCrates.io docs.rsJust-the-core for headless, embedded and libraries.
nannou_drawCrates.io docs.rsThe Draw API for 2D and 3D graphics.
nannou_isfCrates.io docs.rsAn Interactive Shader Format pipeline.
nannou_laserCrates.io docs.rsLASER devices, streams and path optimisation.
nannou_midiCrates.io docs.rsSimple MIDI input and output.
nannou_oscCrates.io docs.rsSimple OSC sender and receiver.
nannou_videoCrates.io docs.rsVideo decoding and playback.
nannou_webcamCrates.io docs.rsCross-platform webcam capture.
nannou_wgpuCrates.io docs.rsWGPU helpers and extensions.
creative-coding

nannou-org/nannou

A Creative Coding Framework for Rust.

Rust

6,765

2,162 commits

updated Jul 15, 2026

See the code

README

nannou Actions Status Backers on Open Collective Sponsors on Open Collective

nannou_logo

An open-source creative-coding toolkit for Rust.

nannou is a collection of code aimed at making it easy for artists to express themselves with simple, fast, reliable, portable code. Whether working on a 12-month installation or a 5 minute sketch, this framework aims to give artists easy access to the tools they need.

The project was started out of a desire for a creative coding framework inspired by Processing, OpenFrameworks and Cinder, but for Rust. Named after this.

nannou is built on the Bevy game engine. Its crates are exposed as a set of Bevy plugins, so nannou's familiar sketch/app API and Draw interface can be used on their own or dropped into any Bevy application.

123

A Quick Note

It is still early days and there is a lot of work to be done. Feel free to help out!

The Guide

Examples

The following collection of examples are a great way to get familiar with nannou.

DirectoryDescription
examples/A collection of examples demonstrating how to use nannou!
generative_design/Examples from Generative Gestaltung, ported from p5.js to nannou.
nature_of_code/Examples from Nature of Code, ported from Processing to nannou.

If you spot an example that interests you, you may run it with the following:

cargo run --release --example <example_name>

where <example_name> is the example's file name without the .rs. Note that the first run might take a while in order to build nannou first, but consecutive runs should be much quicker.

Libraries

The following nannou libraries are included within this repository.

LibraryLinksDescription
nannouCrates.io docs.rsApp, sketching, graphics, windowing and UI.
nannou_audioCrates.io docs.rsAudio hosts, devices and streams.
nannou_coreCrates.io docs.rsJust-the-core for headless, embedded and libraries.
nannou_drawCrates.io docs.rsThe Draw API for 2D and 3D graphics.
nannou_isfCrates.io docs.rsAn Interactive Shader Format pipeline.
nannou_laserCrates.io docs.rsLASER devices, streams and path optimisation.
nannou_midiCrates.io docs.rsSimple MIDI input and output.
nannou_oscCrates.io docs.rsSimple OSC sender and receiver.
nannou_videoCrates.io docs.rsVideo decoding and playback.
nannou_webcamCrates.io docs.rsCross-platform webcam capture.
nannou_wgpuCrates.io docs.rsWGPU helpers and extensions.
creative-coding

Project health

Overall

3.2/10

Maintained

5/10

Code review

0/10
OpenSSF Scorecard

crates.io

Latest release

0.20.0 · Jun 22, 2026

Releases this year

1

Significant stargazers

(top 24 of 124)

Nick Fitzgerald

1,962 followers · starred Dec 2018

Jared Forsyth

1,314 followers · starred Feb 2023

Federico Bond

323 followers · starred Sep 2020

Marek Kotewicz

731 followers · starred Jun 2019