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
Utilities
Implementation of the $1 Gesture Recognizer, a two-dimensional template based gesture recognition.
Motion blur, fields, easing, waves, uniformly-spaced curves, globs, and more!
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.
Framework for spanning Processing sketches across multiple screens.
A library for live visuals performance with Processing sketches
Calculation 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.
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 ...
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.
Provides classes to match the functionality of scratch
A GUI tool to map sketches onto surfaces.
A couple of classes for firing off timed events at regular or random intervals.
Library containing a number of useful classes for time-keeping in Processing
Tramontana - prototyping and creative kit for multi-device interactions and experiences.
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.
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.
Deep computer-vision algorithms for Processing
A Graffiti Markup Language library 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.
Reads QR Code images, a two-dimensional barcode format.
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)
A library to facilitate the connection between Processing and SQL databases.
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.
Create 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.
Simulation
An AI framework suitable for 2D games and simulations.
A library and set of examples for 2D physics simulation wrapping some aspects of JBox2D, a Java implementation of Box2D.
Surveillance tool for data networks.
Generate combinations, variations and permutations
A collection of objects and behaviors for creating dynamic multi agent interactions.
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.
I/O
AP-Sync it the easy way to sync data to processing from your arduino or any microcontroller to processing and back.
Allows you to use tracking data coming from Augmenta systems.
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.
Play, import and export gif animations. Render to GIF!
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 and pads from 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.
A simple HTTP Server for Processing, that serves static files and simplifies HttpHandler
Multi-touch prototyping and development made simple.
Print on attached Thermal Receipt Printers
Touch events for Raspberry Pi and other Linux-based computers.
Create rich interactions based on physical squeezes.
Tablet is a library for using pen tablets from Processing.
Tramontana - prototyping and creative kit for multi-device interactions and experiences.
Will magically synchronize variables among Arduinos and your Processing sketch.
Simple video file exporter.
Create 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.
Animation
A lightweight library for creating animations and transitions.
A gaming library that enables easy 2D game creation within Processing.
Sprite control and animation for games and other graphic applications.
Read Tilt Brush files in Processing.
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.
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.
Access 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.
System for controlling an unlimited number of LEDs.
A really simplified wrapper for using Phidgets in Processing
Create rich interactions based on physical squeezes.
Interface to the Apple Sudden Motion Sensor in MacBooks.
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.
DMX output for enttec DMX USB PRO and lanbox LCE.
Display software, Arduino, or other sensor values in an analog meter.
Sound
A library for adding flexible realtime audio to Processing sketches.
Implementation 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.
An old school MOD tracker player based on JavaMod!
Provides 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.
Tactu5 aids in the creation of algorithmic music in real time. It consists of a set of classes focused on defining musical elements, utility classes and an aggregator.
ttslib makes your sketches speak with the help of freetts.
wellen is a framework for exploring and teaching generative music making and algorithmic compositions.
Video & Vision
Computer vision library for finding blobs in an image
Processing 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 Mac OS X Kinect implementation using open source drivers (libfreenect).
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.
VLCJ binding for Processing.
GStreamer-based video library for Processing.
NyARToolkit for proce55ing(NyAR4psg) is front-end of NyARToolkit for Java. This library can easily make the AR application.
a toolkit for sensing people in spaces with phones.
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.
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.
A mouse driven camera-control library for 3D sketches.
Pick an object in a 3D scene easily.
A super-simple FPS camera for Processing.
3D Shape creation and display made easy.
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.
Math
Generate combinations, variations and permutations
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.
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.
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.
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.
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.
Language
The classic Eliza psychologist program.
A library for natural language and generative writing.
Typography
A font file writer to create TTF and WOFF (Webfonts).
Extends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
Compilation
A collection of various functions belonging to the book GENERATIVE DESIGN (english), GENERATIVE GESTALTUNG (german) and DESIGN GENERATIF (french).
toxiclibs is an independent, open source library collection for computational design tasks.
Assists creation of data visualization sketches.
Other
A gaming library that enables easy 2D game creation within Processing.
Find paths through 2D/3D navigation graphs.
Add Tiled maps to your sketch.
Steganography made simple.