Libraries
Extend Processing beyond graphics and images into audio, video, and communication with other devices.
Core
Create DXF files to save geometry for loading into other programs. It works with triangle-based graphics including polygons, boxes, and spheres.
Access peripherals on the Raspberry Pi and other Linux-based computers
Send and receive data over the Internet through simple clients and servers.
Create PDF files. These vector graphics files can be scaled to any size and printed at high resolutions.
Send data between Processing and external hardware through serial communication (RS-232).
Playback audio files, audio input, synthesize sound, and effects.
Create SVG files.
Read images from a camera, play movie files, and create movies.
Contributions
Contributed libraries are created by members of the Processing community. They are independently and generously created to share. They are all open source and include their own reference and examples.
Shortcuts
3D
Alter P3D Rendering to produce Stereoscopic Animations, 360 Video and other 3D effects.
Importer for kmz and dae files created by 3D softwares SketchUp 8 or Blender 2.75a
A collection of objects and behaviors for creating dynamic multi agent interactions.
A robust Inverse Kinematics Library for Processing.
Sunflow raytracing for Processing.
The Obsessive Camera Direction (OCD) library allows intuitive control and creation of Processing viewport Cameras.
Patchy provides an easy-to-use bicubic patch for 3D Processing sketches.
A mouse driven camera-control library for 3D sketches.
Pick an object in a 3D scene easily.
3D Shape creation and display made easy.
A simple wrapper for OpenNI (Kinect‑Library).
Library that eases the creation of interactive scenes.
This library provides a renderer to project 3D scenes on a full dome.
This project is deprecated and will soon no longer be available. Download the nub library instead.
QueasyCam
Josh CastleA super-simple FPS camera for Processing.
extruder
Max FarrellA 3d library to create extrusions
3D geometry library with packages of NURBS geometry, polygon mesh geometry, vector math, 3D display and navigation, 3D data file I/O and agent-based 3D geometry modeling.
Animation
A lightweight library for creating animations and transitions.
Easing Function and non linear distribution utilities for Processing
A robust Inverse Kinematics Library for Processing.
Easy, simple 2D game creation within Processing.
Read Latk, Tilt Brush, and Quill files in Processing.
Sprite control and animation for games and other graphic applications.
XYScope is a library for Processing to render graphics on a vector display (oscilloscope, laser) by converting them to audio.
Library that eases the creation of interactive scenes.
This project is deprecated and will soon no longer be available. Download the nub library instead.
Compilation
A collection of various functions belonging to the book GENERATIVE DESIGN (english), GENERATIVE GESTALTUNG (german) and DESIGN GENERATIF (french).
Assists creation of data visualization sketches.
Data
Implementation of the Open Source Weka Machine Learning Java library for Processing 3.
Framework for sending and receiving DMX data over the ArtNet protocol.
A library to facilitate communication with SQL-based databases
Surveillance tool for data networks.
A Machine Learning library for Processing.
Deep computer-vision algorithms for Processing
AP-Sync it the easy way to sync data to processing from your arduino or any microcontroller to processing and back.
This lib tries to transfer data(Android Camera & Android Sensor) between Processing and Android.
HTTP Requests for Processing is a small library that takes the pain out of doing HTTP requests in Processing.
Import data and manipulate it with statistical and other functions. Designed to be simple to use for novice programmers while being highly flexible and extensible. Includes many examples and tutorials. Check out olivercoleman.github.io/hivis for a 30 second crash course.
A collection of classes for reading and displaying Shape files (a.k.a. ESRI shapefiles), CSV, and GPX data in a map-based sketch.
Processing client library for the OOCSI design middleware and Data Foundry access.
Easily send and receive data between RunwayML and your sketches.
SFTP direct from Processing (using JSch)
Send and receive multiple values over the serial port, with error reporting for bad input and for common cases such as mismatched value counts, and with the ability to display sent and received data to the Processing console and canvas. It includes a utility function to find the first available serial port that follows the Arduino naming scheme.
Filter noisy and jittery signals.
Post images from Processing to Twitter
A squarify treemap layout generator.
Generate code to connect to 100+ APIs, code utilities, and databases in Processing.
Enables simple UDP communication, as well as multicast support.
Create interactive maps and geovisualizations.
Websockets
Lasse Steenbock VestergaardCreate websocket servers and clients, which makes it possible to communicate with the outside world including web sites.
A library to read from XLS (Excel) files
An Open Sound Control (OSC) implementation.
Redis
Darius MorawiecWrapper to use Redis in Processing. It's based on Jedis, a small Java client by Jonathan Leibiusky.
ShortMessage
Hamzeen. H.A library to send/receive short messages (SMS) from Processing.
SoundCloud
Darius MorawiecUnofficial Java library, which simplifies the use of the official SoundCloud Java API wrapper.
WootingKeyboard
Shinhoo Park @ KAIST Interactive Media LabThis library can be used to analyze the raw data of the Wooting keyboard.
GUI
A GUI library to build custom user interfaces for desktop and android mode.
Provides a set of 2D GUI controls and multiple window support.
A simple cross mode GUI library
Build simple yet gorgeous user interfaces.
Feature rich, visually minimalist GUI for a smooth tinkering experience.
Swing Helper
Michael LukasAllows using swing GUI components in Processing windows and includes utility for swing in general
Creates fast and easy GUI components for your sketch.
Hand-drawn sketchy rendering in Processing.
Display software, Arduino, or other sensor values in an analog meter.
This project is deprecated and will soon no longer be available. Download the nub library instead.
Geometry
A simple, lightweight library for generating meshes such as isometric surfaces, boundary hulls and skeletons.
A collection of objects and behaviors for creating dynamic multi agent interactions.
Draw shapes with dashed lines!
Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
An implementation of Non-uniform Rational B-Splines for Processing
A squarify treemap layout generator.
Hand-drawn sketchy rendering in Processing.
This project is deprecated and will soon no longer be available. Download the nub library instead.
OCT
Thomas WegenerA Processing library to create, modify and display Octree structures.
Hardware
Controls Arduino boards running the Firmata firmware.
Interface BlinkStick - smart USB RGB LED.
A library to get eye gaze data from the Eye Tribe device.
GazeTrack is library that supports basic gaze tracking using various Tobii eye‑trackers.
Hardware I/O
The Processing FoundationAccess peripherals on the Raspberry Pi and other Linux-based computers.
Intel RealSense support for Processing
Android library for working with sensors, cameras, multi-touch, networking, Bluetooth, WiFi Direct, Near Field Communication, and SQLite
A PS3Eye library using libusb.
A really simplified wrapper for using Phidgets in Processing
Scanse Sweep LIDAR API for Processing
XYScope is a library for Processing to render graphics on a vector display (oscilloscope, laser) by converting them to audio.
dmxP512
Henri DAVIDDMX output for enttec DMX USB PRO and lanbox LCE.
Display software, Arduino, or other sensor values in an analog meter.
Easy to use library for controlling dmx lights with an FTDI USB controller.
HPGLGraphics
Ciaron LinsteadWrite HPGL output from Processing sketches, suitable for sending to a pen‑plotter.
Leap Motion for Processing
Darius MorawiecLibrary to use the Leap Motion in Processing.
Myo for Processing
Darius MorawiecLibrary to use the Myo in Processing.
I/O
Drop is a processing library that lets you drag and drop objects such as files, images, bookmarks, or text into your processing sketch.
Use joysticks, gamepads and other control devices in your sketch.
A library to play and export GIF animations.
An easy-to-use PDF/jpeg exporter.
AP-Sync it the easy way to sync data to processing from your arduino or any microcontroller to processing and back.
Hierarchical display list for graphics and text with export to Adobe Illustrator 7.0 file format.
A simple library for loading, playing back and displaying image sequences
MQTT library for Processing based on the Eclipse Paho project.
The MindSetProcessing library allows you to use the NeuroSky Mindset brainwave sensing headset with Processing.
The NXTComm Processing library allows you to control the Lego Mindstorms NXT robots.
Control your sketches using the knobs, pads and slider from MIDI controllers such as Novation ® Launch Control®.
This is a simple library to export surfaces from processing as OBJ files. It is used the same way the PDF library is used.
Processing client library for the OOCSI design middleware and Data Foundry access.
Android library which provides Dialogs for selectInput(), selectFolder() and selectOutput() methods.
Send and receive multiple values over the serial port, with error reporting for bad input and for common cases such as mismatched value counts, and with the ability to display sent and received data to the Processing console and canvas. It includes a utility function to find the first available serial port that follows the Arduino naming scheme.
A simple HTTP Server for Processing, that serves static files and simplifies HttpHandler
Print on attached Thermal Receipt Printers
Touch events for Raspberry Pi and other Linux-based computers.
VSync for Processing
Maximilian ErnestusWill magically synchronize variables among Arduinos and your Processing sketch.
Simple video file exporter.
Websockets
Lasse Steenbock VestergaardCreate websocket servers and clients, which makes it possible to communicate with the outside world including web sites.
This project is deprecated and will soon no longer be available. Download the nub library instead.
Console
Mathias MarklA console, which can be drawn to the screen.
ImageLoader
Mathias MarklImageLoader is an simple to use API to load images from either Instagram, Flickr, Google, Giphy, Tumblr or your file system.
MuKCast
Mathias MarklMuKCast is an light-weight client/server library.
Tablet is a library for using pen tablets from Processing.
WootingKeyboard
Shinhoo Park @ KAIST Interactive Media LabThis library can be used to analyze the raw data of the Wooting keyboard.
Language
A library for natural language and generative writing.
Eliza
Andres ColubriThe classic Eliza psychologist program.
Math
A collection of functions to animate visuals based on timings.
Generate combinations, variations and permutations
A class and collection of utilities for complex numbers.
Import data and manipulate it with statistical and other functions. Designed to be simple to use for novice programmers while being highly flexible and extensible. Includes many examples and tutorials. Check out olivercoleman.github.io/hivis for a 30 second crash course.
A super fast numerical expression and algorithm calculator.
Algorithm and Expression evaluator.
Create simple and configurable 2D plots with Processing.
Tools for drawing graphs in 2D and 3D.
Other
Easy, simple 2D game creation within Processing.
JavaFX
The Processing FoundationThe FX2D renderer for Processing 4
Find paths through 2D/3D navigation graphs.
Add Tiled maps to your sketch.
Steganography made simple.
Simulation
An AI framework suitable for 2D games and simulations.
Surveillance tool for data networks.
Generate combinations, variations and permutations
A collection of objects and behaviors for creating dynamic multi agent interactions.
A robust Inverse Kinematics Library for Processing.
RigidBody/Particle simulation using JBox2d/LiquidFun, a 2D physics engine.
PixelFlow is a Processing library for high performance GPU-Computing (GLSL), like Fluid Simulation, SoftBody Dynamics, Rendering, Optical Flow, Image processing ...
teilchen a simple physics library based on particles, forces, constraints and behaviors.
A wrapper for JBox2D, a 2D physics engine.
Sound
A collection of functions to animate visuals based on timings.
Cassette
Shlomi HodImplementation of Processing Sound APIs for Android.
ComposingForEveryone gives support for applications in sound generation, simple web-cam-image processing, numerical simulation and -- provided by examples -- especially for algorithmic real-time composition of music.
Patterns that change over time, flexibly mapped to audiovisual output.
An audio library that provides easy to use classes for playback, recording, analysis, and synthesis of sound.
A real-time audio synthesis library of Pure Data's signal objects for Processing 3 and 4.
Sound
The Processing FoundationProvides a simple way to work with audio.
Framework to interface with the SuperCollider synthesis engine.
XYScope is a library for Processing to render graphics on a vector display (oscilloscope, laser) by converting them to audio.
ttslib makes your sketches speak with the help of freetts.
wellen is a framework for exploring and teaching generative music making and algorithmic compositions.
A library for adding flexible realtime audio to Processing sketches.
ProcMod player
Arnaud LoonstraAn old school MOD tracker player based on JavaMod!
The MidiBus
Severin SmithThe MidiBus is a minimal MIDI library for Processing, no frills, no limitations.
Typography
Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
Fontastic
Andreas KollerA font file writer to create TTF and WOFF (Webfonts).
Utilities
A collection of functions to animate visuals based on timings.
Fast and easy to use utility for simulating color blindness or performing daltonization.
A tool to import color schemes.
Convenient utilities for some everyday tasks including simple layout using grids, lat lon distance calculation, creating patterns with a Vogel spiral, color pallete generation, displaying guides, simple debug panel as well as useful PVector list manipulation.
An easy-to-use PDF/jpeg exporter.
Extracts ID3 tags from Mp3 files.
Build simple yet gorgeous user interfaces.
A library to help with basic projection mapping.
A library for live visuals performance with Processing sketches
Mouse 2D Transformations
Alex PoupakisCalculation of mouse coordinates in transformed 2D animation matrices.
Scenegraph and mouse event handling system based loosely on ActionScript 3.0.
Use the best color palettes from ColourLovers.com in Processing.
Processing client library for the OOCSI design middleware and Data Foundry access.
Perceptually-accurate and human-friendly color picking using the Oklab color space.
Allows Processing to export the drawings of a sketch in SVG format.
PixelFlow is a Processing library for high performance GPU-Computing (GLSL), like Fluid Simulation, SoftBody Dynamics, Rendering, Optical Flow, Image processing ...
PortMods
[Pike]Built for Processing 3, PortMods are pieces of Java code with input- and outputports that can be chained.
Framework for applying post effects to PGraphic objects.
Easily send and receive data between RunwayML and your sketches.
A GUI tool to map sketches onto surfaces.
A couple of classes for firing off timed events at regular or random intervals.
A library to invoke your functions in fixed time intervals.
Timing Utilities
Lord of GalaxyLibrary containing a number of useful classes for time-keeping in Processing
Tramontana - prototyping and creative kit for multi-device interactions and experiences.
Library that eases the creation of interactive scenes.
This project is deprecated and will soon no longer be available. Download the nub library instead.
Spacebrew is a toolkit for prototyping interactive spaces.
$1 Unistroke Recognizer
Darius MorawiecImplementation of the $1 Gesture Recognizer, a two-dimensional template based gesture recognition.
CountdownTimer
Dong Hyun ChoiA countdown timer which triggers callback events for each user-defined tick interval during the timer's duration.
Free Transform
Bartosh PolonskiTransform textures interactively
WootingKeyboard
Shinhoo Park @ KAIST Interactive Media LabThis library can be used to analyze the raw data of the Wooting keyboard.
Video & Vision
Computer vision library for finding blobs in an image
BoofCV for Processing
Peter AbelesProcessing interface for BoofCV.
Fast Image Processing. Filters, post-processing and more.
Hardware accelerated video on the Raspberry Pi & Linux
Implementations of basic image processing algorithms for processing.
A simple wrapper for the Microsoft Kinect for Windows SDK version 1.8.
Kinect v2 implementation using the Kinect Windows SDK.
Computer vision with OpenCV.
A PS3Eye library using libusb.
PixelFlow is a Processing library for high performance GPU-Computing (GLSL), like Fluid Simulation, SoftBody Dynamics, Rendering, Optical Flow, Image processing ...
For openGL texture sharing between Microsoft Windows applications using the Spout framework.
This library allows the sharing of video and images between applications in macOS using the Syphon framework.
VLCJ binding for Processing.
Video Library for Processing 3
The Processing FoundationGStreamer-based video library for Processing.
Video Library for Processing 4
The Processing FoundationGStreamer-based video library for Processing.
a toolkit for sensing people in spaces with phones.