Est. 2001 Beginner

Processing

A Java-based "software sketchbook" and language created to teach programming within the visual arts, and the seed of the modern creative-coding movement.

Created by Casey Reas and Ben Fry

Paradigm Multi-paradigm: object-oriented and imperative/procedural, layered on Java
Typing Static and strong, inherited from Java
First Appeared 2001
Latest Version Processing 4.5.2 (May 2026)

Processing is a free, open-source programming language and integrated development environment (IDE) built for the visual arts. Its creators describe it as a “software sketchbook” — a tool for quickly trying out ideas in code the way an artist sketches in a notebook. Built on top of Java, Processing pairs a simplified language with a minimal editor and an instant “Run” button that opens a graphics window, making it possible to draw shapes, animate them, and respond to input within a few lines of code. More than any single feature, Processing’s lasting significance is cultural: it largely launched the modern creative-coding movement and made programming approachable for a generation of artists, designers, and educators.

History and Origins

Processing began in 2001 at the MIT Media Lab, where Casey Reas and Ben Fry were members of the Aesthetics + Computation Group (ACG) led by John Maeda. The group sat at the intersection of graphic design and computer science, a lineage tracing back to Muriel Cooper’s Visible Language Workshop. The direct predecessor was Maeda’s own teaching language, Design By Numbers, which aimed to introduce programming to designers; Reas and Fry set out to build something more capable and open-ended.

The project was originally styled “Proce55ing” — because the obvious domain name was taken — and lived for years at proce55ing.net before moving to processing.org around 2004. Rather than rushing to a formal release, the creators kept Processing in alpha and beta for roughly seven years, refining it through real classroom and studio use. When version 1.0 finally arrived on November 24, 2008, Fry wryly noted that “it only took 162 attempts.” By then Processing had already spread widely through art and design schools.

In 2012, Reas, Fry, and educator Daniel Shiffman founded the Processing Foundation, a nonprofit organization to maintain the software and, crucially, to broaden who gets to participate in code and the arts.

Design Philosophy

Processing was built on a clear and somewhat radical premise: that programming belongs in the visual arts, and that the visual arts have something to teach programming. The Foundation frames its mission as promoting “software literacy within the visual arts, and visual literacy within technology.”

Several principles follow from that goal:

  • Sketching over engineering. The workflow is optimized for figuring things out — write a few lines, hit Run, see a result, iterate. The barrier between idea and image is deliberately thin.
  • Immediate visual feedback. A program (called a sketch) typically produces a graphics window the moment it runs, so beginners see the consequences of their code instantly rather than parsing console output.
  • A gentle on-ramp, not a toy. Processing simplifies Java’s ceremony for newcomers, yet it remains a real, capable environment used for production artwork and installations.
  • Openness and community. It is free and open source, with a large library ecosystem and an emphasis on teaching, sharing, and inclusion.

Key Features

A minimal Processing sketch is built around two functions — setup(), which runs once, and draw(), which runs every frame:

1
2
3
4
5
6
7
8
void setup() {
  size(400, 400);
}

void draw() {
  background(0);
  ellipse(mouseX, mouseY, 80, 80);
}

That small program opens a window and draws a circle that follows the mouse — a complete, animated, interactive sketch.

  • A drawing-first standard library. Built-in functions cover 2D and 3D shapes, color, typography, images, and transformations, with renderers including an OpenGL-based mode for hardware-accelerated graphics.
  • The Processing Development Environment (PDE). A deliberately spare editor with a single prominent Run button, designed to keep beginners focused on their code rather than on tooling.
  • Built on the JVM. Because Processing compiles down to Java, sketches are statically typed and can call on the broader Java ecosystem and external libraries when needed.
  • Modes for other platforms. Beyond the default Java mode, the community has added an Android mode (foundations built around 2009) and a Python mode (Processing.py), letting the same concepts apply across targets.
  • A rich library ecosystem. Contributed libraries extend Processing into sound, computer vision, networking, hardware, and data visualization.

A Family of Descendants

Few teaching languages have spawned as influential a lineage as Processing:

ProjectYearOriginRole
Processing.js2008John ResigPorted Processing to the browser via HTML5 canvas; discontinued in 2018.
Wiring2003Hernando BarragánAdapted Processing’s language and IDE for microcontrollers.
Arduino~2005Banzi, et al.Descended from Wiring, inheriting the Processing-IDE lineage for electronics.
openFrameworks~2005Lieberman, Watson, CastroA C++ toolkit inspired by Processing’s approach.
p5.js2013Lauren Lee McCarthyA native-JavaScript reinterpretation; the Foundation’s officially supported web library.

The Arduino connection is especially notable: the wildly popular electronics platform grew out of Wiring, which itself adapted Processing’s editor and language conventions for hardware. In this sense, Processing’s design ideas reached far beyond the screen and into the physical-computing and maker movements.

Evolution

Processing has advanced through several major versions, each modernizing the platform while preserving the sketchbook experience:

  • 1.0 (2008) — the first stable release after years of public beta.
  • 2.0 (2013) — a new OpenGL-based rendering pipeline.
  • 3.0 (2015) — a redesigned editor, with performance and usability improvements among the release’s stated goals.
  • 4.0 (2022) — released on the project’s 21st anniversary, targeting Java 17 and modernizing the underlying runtime.

Development continues on the 4.x line under the Processing Foundation, with stable releases such as 4.5.2 arriving in mid-2026. Meanwhile, much of the energy around creative coding on the web has shifted to p5.js, which the Foundation also stewards — making Processing less a single program than an ecosystem of related tools sharing a common philosophy.

Licensing

Processing is free and open source. The core library is released under the GNU LGPL v2.1, while the editor (PDE) and most other components are released under the GNU GPL v2. This split lets people distribute the runtime library with their own work under more permissive terms while keeping the broader project copyleft.

Why It Matters

Processing’s impact is out of all proportion to its size. By treating code as a creative medium and prioritizing immediate visual feedback, it gave countless artists, designers, architects, and students their first successful experience of programming — and a reason to keep going. Its descendants thread through some of the most important tools of the past two decades: p5.js carries its ideas to the open web, and Arduino carries them into hardware and the maker movement.

Just as importantly, Processing helped legitimize creative coding as a discipline. Works built with it hang in the Museum of Modern Art and have shaped public memorials and major museum exhibitions. For a language that started as a graduate-school sketchbook, Processing’s real achievement was to convince a generation that writing software could be an act of art — and that learning to code could begin not with abstraction, but with a circle on a screen.

Timeline

2001
Casey Reas and Ben Fry begin Processing (originally styled "Proce55ing") in the Aesthetics + Computation Group at the MIT Media Lab, led by John Maeda. Early versions are hosted at proce55ing.net.
2004
The project adopts the processing.org domain and continues a long alpha/beta period during which it spreads through art and design schools.
2008
Processing 1.0 is released on November 24, 2008, the first stable version after roughly seven years of development. The same year, John Resig (creator of jQuery) ports Processing to the browser as Processing.js using the HTML5 canvas.
2012
The Processing Foundation is established as a nonprofit by Ben Fry, Casey Reas, and Daniel Shiffman to steward the software and broaden access to it.
2013
Processing 2.0 ships on June 3, 2013, with a new OpenGL-based renderer. Lauren Lee McCarthy creates p5.js, a native-JavaScript reinterpretation of Processing's ideas for the web.
2015
Processing 3.0 is released on September 30, 2015, introducing a redesigned editor (PDE) along with performance and usability work that the project described as a focus of the release.
2022
Processing 4.0 is released on August 9, 2022, timed to the 21st anniversary of the project. It targets Java 17 and modernizes the underlying platform.
2026
Development continues on the 4.x line, with Processing 4.5.2 released as a stable version in May 2026.

Notable Uses & Legacy

Aaron Koblin — Flight Patterns

A Processing visualization of FAA air-traffic data over the United States, created around 2005. The work entered the permanent collection of the Museum of Modern Art (MoMA) in New York.

Jer Thorp and The New York Times

As the first Data Artist in Residence at The New York Times (2010–2012), Thorp used Processing for data-driven art and designed the algorithm that arranged the names on the 9/11 Memorial.

Casey Reas — Software Structures

Reas used Processing for his Process and Software Structures works, including a 2004 commission for the Whitney Museum's Artport, demonstrating the language as a medium for generative fine art.

Education and creative coding curricula

Processing is widely used in art, design, and computer-science classrooms to teach programming fundamentals visually. Daniel Shiffman's tutorials and his book The Nature of Code popularized it as a teaching tool worldwide.

Gallery and museum installations

Generative artists and studios use Processing for installations and exhibitions, such as works shown in the V&A's 2009 "Decode: Digital Design Sensations" exhibition in London.

Language Influence

Influenced By

Java Design By Numbers

Influenced

Processing.js p5.js Wiring Arduino openFrameworks

Running Today

Run examples using the official Docker image:

docker pull
Last updated: