Oct 2026

What Is Creative Coding?

Angelo Sotira

Angelo Sotira

Creative coding is writing software to make something expressive: images, animation, sound, interactive installations or live performance, where the result is judged as art or design. The C++ library Cinder describes it as programming "with aesthetic intent," and the MIT Media Lab's Future Sketches group describes its subject as "software as a medium for art and design."

Generative art made with code, where an artist writes a system that produces the image, is one strand of creative coding, covered in What Is Generative Art?. Interactive installations, live-coded visuals, custom drawing tools and stage design are others. This guide compares the toolkits, shows where the community meets, and lays out free ways to begin.

Key takeaways

  • Creative coding is programming done for an expressive result. Cinder calls it programming "with aesthetic intent."
  • The best-known toolkits were started by artist-teachers and researchers: Processing (2001) at the MIT Media Lab, openFrameworks (around 2004 to 2005) while Zach Lieberman taught at Parsons, and p5.js in 2013.
  • Most of the code libraries are free and open source. TouchDesigner and vvvv are commercial, and both can be used free for non-commercial work.
  • A creative coder writes the instructions that make the work. A text-to-image model generates pictures from a model trained on existing images.
  • You can start today in a browser with p5.js, Hydra or The Book of Shaders, and give your practice a structure with free courses and events such as Genuary.

What is creative coding?

Creative coding is programming where the output is meant to be looked at, listened to or interacted with, and the code exists to serve that experience. The tools in the field say so directly. openFrameworks names its audience as "folks using computers for creative, artistic expression," and p5.js calls itself "a friendly tool for learning to code and make art" (p5.js).

The working vocabulary comes from drawing. Processing was created "to serve as a software sketchbook," and a new file in its editor is called a sketch (Processing). p5.js says it aims to make "sketching with code as intuitive as sketching in a notebook."

That habit of sketching shapes the tools. TouchDesigner's documentation describes it as "an always-alive system that keeps on generating itself, even as it's being modified" (Derivative), and vvvv says that in its editor "any change you make is live" (vvvv).

How is creative coding different from software engineering?

Creative coding uses the same languages, and often the same libraries, as software engineering. The difference is the goal: the program is judged by what it shows, how it sounds or what it does to a room, and the code is a means to that.

openFrameworks makes the overlap plain. It is written in C++ and wraps standard libraries, including OpenGL for graphics and OpenCV for computer vision, and its FAQ says its intended audience wants "low level access to the data inside of media" in order to manipulate, analyze or explore it (openFrameworks).

The working method differs too. TouchDesigner's own documentation sets its always-running approach against "programming which requires you to compile in order to see your changes." Practice is often daily and public: Zach Lieberman's site describes his habit of posting the sketches he makes with software to Instagram daily (zach.li).

The tools invite modification. openFrameworks ships as source code partly as "an active invitation" for users to change the library, and its guiding philosophy is "do it with others."

How is creative coding different from AI image generation?

In creative coding the artist writes the instructions that produce the work. In AI image generation, a model trained on large collections of existing images produces a picture from a text prompt. Stable Diffusion, for example, is described by its developers as "a latent text-to-image diffusion model" trained on images from a subset of the LAION-5B database (CompVis).

The practical difference is what you can inspect and change. A creative-coded piece is its source code, which the artist wrote and can read, edit and explain. For the authorship argument in full, including why it matters to collectors, see the generative art guide linked above.

What tools do creative coders use?

Creative coders mostly work in one of three kinds of tool: a code library for a general-purpose language, a node-based visual environment, or shader code that runs on the graphics card. The table below covers the common choices, checked against each project's own site.

Tool

What it is

Language

License

Made by

First released

Processing

Software sketchbook and language for visual work

Java-based

GPL-2.0 (editor), LGPL-2.1 (core library)

Ben Fry and Casey Reas, with contributors

2001

p5.js

Library for art and interactive work on the web

JavaScript

LGPL-2.1

Created by Lauren Lee McCarthy, built by a community of contributors

2013

openFrameworks

Open source toolkit for creative coding

C++

MIT

Zach Lieberman, with Theo Watson, Arturo Castro and contributors

Around 2004 to 2005 (public beta 2006)

Cinder

Library for "programming with aesthetic intent"

C++

BSD 2-Clause

Andrew Bell (original author) and community

2010 (public repository)

TouchDesigner

Node-based visual programming for real-time 2D and 3D

Visual nodes

Commercial, with a free Non-Commercial edition

Derivative, Toronto and Los Angeles

2002

vvvv

Visual live-programming environment for .NET

Visual (VL), plus C#

Free for non-commercial use, per-developer license for commercial use

vvvv, Berlin (begun at MESO)

2002

GLSL shaders

Programs that run on the GPU for every pixel at once

GLSL

A language standard

Regulated by the Khronos Group

n/a

Nannou

Open source creative-coding framework

Rust

MIT and Apache 2.0

Nannou contributors

2017 (public repository)

Hydra

Live-coding video synth that runs in the browser

JavaScript

AGPL-3.0

Olivia Jack and contributors

2017 (public repository)

Processing and p5.js were designed with beginners in mind. Processing was begun in 2001 by Ben Fry and Casey Reas while both were graduate students at the MIT Media Lab, and p5.js, part of the same Processing family of projects, is a JavaScript library for the web. Both are covered in depth in our guide to Processing and p5.js.

openFrameworks and Cinder are the C++ options. openFrameworks says C++ lets it use "hardware like your graphics card efficiently" and connect cameras and other devices, and its site lists more than 1,500 community addons. Cinder calls itself "production-proven, powerful enough to be the primary tool for professionals."

TouchDesigner and vvvv build programs from connected nodes instead of lines of text, and TouchDesigner shows a live view of every node's output. Derivative says TouchDesigner is designed for projects "involving many displays and computers," and vvvv says it is "built to run large-scale interactive spaces."

Shaders are small programs, usually written in GLSL, that the graphics card runs for every pixel at the same time. The Book of Shaders explains that shader instructions "are executed all at once for every single pixel on the screen," which is why they are fast and why they take a different way of thinking (The Book of Shaders).

Nannou and Hydra are newer. Nannou was started out of a wish for a framework "inspired by Processing, OpenFrameworks and Cinder, but for Rust," and cites reliability for "long-running installations" as a reason for the language. Hydra, created by Olivia Jack, is for live-coding networked visuals in the browser.

What are some creative coding examples?

Creative coding examples range from public installations to typefaces and assistive tools. Zach Lieberman's projects show the range. Mas que la Cara is a public art installation in downtown Houston that gives participants dynamically generated masks that respond to their movements. The EyeWriter is a low-cost, open source, open hardware tool made to help a paralyzed graffiti writer draw with his eye movements. IQ Font is a typeface created by driving, made for Toyota.

Processing's overview lists what its users make: projected stage designs for dance and music, images for music videos, film, posters and books, and interactive installations "in galleries, in museums, and on the street." The Exploratorium in San Francisco uses Processing to develop its exhibitions (Processing).

Live performance is another strand. Hydra is built for live coding networked visuals, and its code runs from a text editor in the browser (Hydra).

Who uses creative coding?

Artists, designers, architects and educators all use creative coding, and the roles often overlap. Processing says its software is used by "thousands of visual designers, artists, and architects," and that projects made with it have been shown at the Museum of Modern Art, the Victoria and Albert Museum and the Centre Pompidou.

Zach Lieberman is a clear case of the overlap. The MIT Media Lab describes him as an artist, researcher and educator who "creates artwork through writing software," is a co-creator of openFrameworks, an open source C++ toolkit for creative coding, and helped co-found the School for Poetic Computation (MIT Media Lab). In his own account, openFrameworks began around 2004 to 2005 while he was teaching at Parsons School of Design, and he started teaching classes with it in 2005 (openFrameworks).

Teaching is built into the field. Processing is used in classrooms worldwide, in art schools as well as high schools, computer science programs and humanities courses. In a National Science Foundation-sponsored survey, students in an introductory computing course taught with Processing at Bryn Mawr College said they would be twice as likely to take another computer science class as students taught with a more traditional curriculum. The p5.js site features a coding club in Korea for people aged 50 and over, led by Inhwa Yeom (p5.js).

Where do creative coders meet?

Creative coders meet in schools, annual events and project forums.

  • School for Poetic Computation. An experimental school in New York and online, founded in 2013, for the study of art, code, hardware and critical theory (SFPC). Lieberman writes that he helped create it with a group of friends after a decade of teaching at Parsons. Its fall 2026 online session, running September 21 to December 3, includes a class called Shaders for the Rest of Us.
  • Genuary. Every January, Genuary publishes one prompt per day for code-based art. Any language, framework or medium is allowed, the prompts are optional, and the organizers say it is "not a competition" (Genuary). Its sites run back to 2021.
  • Processing Community Day. Processing turns 25 in 2026, and the project is marking it in October with events organized by local communities (Processing).
  • Project communities. openFrameworks runs a forum for sharing work and getting help, and Nannou has Slack and Matrix communities. vvvv's blog lists its 36th worldwide meetup in October 2026 and beginner classes starting October 19.

How do you start creative coding?

Start in a browser with a free tool, follow one structured course, and make something small often. You do not need to buy software or install anything to begin.

  • Pick the tool by the output you want. For sketches you can share as a link, p5.js. For live visuals, Hydra. For installations with cameras or sensors, openFrameworks or TouchDesigner. For dense, fast imagery, shaders.
  • Start in the browser. p5.js says "you can start coding right now in the web editor." Hydra's code runs from an in-browser editor, and The Book of Shaders, by Patricio Gonzalez Vivo and Jen Lowe, has interactive examples that run on the page.
  • Follow one sequenced course. The Coding Train, started by Dan Shiffman in 2015, offers video tutorials and live streams for beginners (The Coding Train). Shiffman teaches at NYU's Interactive Telecommunications Program, and his book The Nature of Code, which covers randomness, forces, particle systems, cellular automata and more, can be read in full online (Nature of Code). For C++, openFrameworks publishes ofBook, a collection of guides, and Nannou has its own guide for Rust.
  • Try nodes if text code stalls you. TouchDesigner's Non-Commercial edition is free for personal, non-paid work, with image output limited to 1280 x 1280 (Derivative). vvvv is free for non-commercial use and for learning, with no registration or copy protection (vvvv).
  • Give practice a structure. Genuary's 31 prompts are a ready-made month of exercises. A daily sketch habit like Lieberman's works any other month.
  • Share code and ask questions. Processing, openFrameworks and Nannou all run public forums or chat communities, and openFrameworks describes its forum as a place to share work and find help.

How is creative-coded work shown?

Creative-coded work is shown wherever a computer can drive an output: browser windows, screens, projections, stage sets, public installations and print. p5.js supports "audio-visual, interactive, and experimental works for the web," Processing work appears in galleries, on stage and on the street, and TouchDesigner and vvvv are designed to drive many displays and computers at once.

Much of this work is a program that keeps running and changing, so a video of it is a recording of one run, a point developed in What Is Living Art?. Showing it as intended means a display with a computer that can execute the code.

The Layer Canvas renders generative works live on its own processor rather than playing back video, on a square 2160 x 2160 screen. It can be reserved through the Layer Canvas pre-order for $6,999 plus applicable taxes, with a $99 deposit that is fully refundable until the unit ships. Shipping is expected in mid-2027, and pre-orders are US only.

Sources

  1. About Cinder, Cinder, https://libcinder.org/about
  2. Cinder home page, Cinder, https://libcinder.org/
  3. Cinder repository metadata, GitHub, https://api.github.com/repos/cinder/Cinder
  4. Future Sketches: Overview, MIT Media Lab, https://www.media.mit.edu/groups/future-sketches/overview/
  5. Zach Lieberman: Overview, MIT Media Lab, https://www.media.mit.edu/people/zachl/overview/
  6. Zach Lieberman, zach.li, http://zach.li/
  7. openFrameworks home page, openFrameworks, https://openframeworks.cc/
  8. About openFrameworks, openFrameworks, https://openframeworks.cc/about/
  9. ofBook: Foreword, by Zach Lieberman, openFrameworks, https://openframeworks.cc/ofBook/chapters/foreword.html
  10. Learning, openFrameworks, https://openframeworks.cc/learning/
  11. Overview, Processing, https://processing.org/overview
  12. Environment, Processing, https://processing.org/environment/
  13. Welcome to Processing, Processing, https://processing.org/
  14. processing/processing4 repository, GitHub, https://github.com/processing/processing4
  15. About p5.js, p5.js, https://p5js.org/about/
  16. p5.js home page, p5.js, https://p5js.org/
  17. processing/p5.js repository, GitHub, https://github.com/processing/p5.js
  18. TouchDesigner, Derivative User Guide, https://derivative.ca/UserGuide/TouchDesigner
  19. TouchDesigner Non-Commercial, Derivative, https://docs.derivative.ca/TouchDesigner_Non-Commercial
  20. vvvv: visual live-programming for .NET, vvvv, https://visualprogramming.net/
  21. Licensing, vvvv, https://visualprogramming.net/licensing
  22. History of vvvv, vvvv, https://legacy.vvvv.org/internal/history-of-vvvv
  23. What Is a Shader?, The Book of Shaders, https://thebookofshaders.com/01/
  24. The Book of Shaders, Patricio Gonzalez Vivo and Jen Lowe, https://thebookofshaders.com/
  25. nannou README, GitHub, https://github.com/nannou-org/nannou
  26. Why Nannou?, The Nannou Guide, https://guide.nannou.cc/why_nannou.html
  27. Nannou home page, Nannou, https://nannou.cc/
  28. hydra-synth/hydra repository, GitHub, https://github.com/hydra-synth/hydra
  29. Hydra documentation, Hydra, https://hydra.ojack.xyz/docs/
  30. Stable Diffusion repository, CompVis, https://github.com/CompVis/stable-diffusion
  31. About, School for Poetic Computation, https://sfpc.study/about
  32. School for Poetic Computation home page, SFPC, https://sfpc.study/
  33. Genuary 2026, Genuary, https://genuary.art/
  34. FAQ, Genuary, https://genuary.art/faq
  35. About, The Coding Train, https://thecodingtrain.com/about
  36. The Nature of Code, Daniel Shiffman, https://natureofcode.com/