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.
Send data between Processing and external hardware through serial communication (RS-232).
Create PDF files. These vector graphics files can be scaled to any size and printed at high resolutions.
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.
Parametric design library for the minimalist, inspired on existing node-based plug-ins for CAD software. Holds algorithms for easy generation and adaptation of polygon meshes, vectors and list patterns.
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.
Pick an object in a 3D scene easily.
A mouse driven camera-control library for 3D sketches.
A super-simple FPS camera for Processing.
3D Shape creation and display made easy.
A simple wrapper for OpenNI (Kinect‑Library).
A 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.
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.
Animation
A lightweight library for creating animations and transitions.
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.
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.
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
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.
Wrapper to use Redis in Processing. It's based on Jedis, a small Java client by Jonathan Leibiusky.
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.
A library to send/receive short messages (SMS) from Processing.
Filter noisy and jittery signals.
Post images from Processing to Twitter
Unofficial Java library, which simplifies the use of the official SoundCloud Java API wrapper.
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.
This library can be used to analyze the raw data of the Wooting keyboard.
A library to read from XLS (Excel) files
An Open Sound Control (OSC) implementation.
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 Processing library to create, modify and display Octree structures.
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.
Hardware
Interface to the Light Sensor in MacBook Pro computers.
Controls Arduino boards running the Firmata firmware.
Interface BlinkStick - smart USB RGB LED.
Easy to use library for controlling dmx lights with an FTDI USB controller.
A library to get eye gaze data from the Eye Tribe device.
Library to use the GaussSense in Processing.
GazeTrack is library that supports basic gaze tracking using various Tobii eye‑trackers.
Write HPGL output from Processing sketches, suitable for sending to a pen‑plotter.
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
Library to use the Leap Motion in Processing.
Library to use the Myo in Processing.
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.
I/O
AP-Sync it the easy way to sync data to processing from your arduino or any microcontroller to processing and back.
A console, which can be drawn to the screen.
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.
Hierarchical display list for graphics and text with export to Adobe Illustrator 7.0 file format.
ImageLoader is an simple to use API to load images from either Instagram, Flickr, Google, Giphy, Tumblr or your file system.
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.
MuKCast is an light-weight client/server library.
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.
Tablet is a library for using pen tablets from Processing.
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 library can be used to analyze the raw data of the Wooting keyboard.
Publish and consume text messages to create peer-to-peer communication between processing applications.
This project is deprecated and will soon no longer be available. Download the nub library instead.
Language
The classic Eliza psychologist program.
A library for natural language and generative writing.
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.
A wrapper for JBox2D, a 2D physics engine.
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.
Sound
A collection of functions to animate visuals based on timings.
A library for adding flexible realtime audio to Processing sketches.
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.
An old school MOD tracker player based on JavaMod!
Sound
The Processing FoundationProvides a simple way to work with audio.
Framework to interface with the SuperCollider synthesis engine.
The MidiBus is a minimal MIDI library for Processing, no frills, no limitations.
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.
Typography
A font file writer to create TTF and WOFF (Webfonts).
Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
Utilities
Implementation of the $1 Gesture Recognizer, a two-dimensional template based gesture recognition.
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.
A countdown timer which triggers callback events for each user-defined tick interval during the timer's duration.
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.
Transform textures interactively
A numeric canvas that stores the image as a number array to create visuals with arbitrary ranges.
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 livecoding library that draws code brushes from external .java source code.
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.
Allows Processing to export the drawings of a sketch in SVG format.
Processing client library for the OOCSI design middleware and Data Foundry access.
Perceptually-accurate and human-friendly color picking using the Oklab color space.
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 library to invoke your functions in fixed time intervals.
Tramontana - prototyping and creative kit for multi-device interactions and experiences.
A couple of classes for firing off timed events at regular or random intervals.
Timing Utilities
Lord of GalaxyLibrary containing a number of useful classes for time-keeping in Processing
This library can be used to analyze the raw data of the Wooting keyboard.
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.
Video & Vision
Computer vision library for finding blobs in an image
BoofCV for Processing
Peter AbelesProcessing interface for BoofCV.
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.
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.
VLCJ binding for Processing.
a toolkit for sensing people in spaces with phones.