Libraries. Extend Processing beyond graphics and images into audio, video, and communication with other devices.
The following libraries are included with the Processing software. To include a library, select its name from the "Import Library..." option in the Sketch menu. These libraries are open source; the code is distributed with Processing.
-
Video
Read images from a camera, play movie files, and create movies.
-
DXF Export
Create DXF files to save geometry for loading into other programs. It works with triangle-based graphics including polygons, boxes, and spheres.
-
Serial
Send data between Processing and external hardware through serial communication (RS-232).
-
PDF Export
Create PDF files. These vector graphics files can be scaled to any size and printed at high resolutions.
-
Network
Send and receive data over the Internet through simple clients and servers.
-
» Minim
Uses JavaSound to provide an easy-to-use audio library while still providing flexibility for more advanced users.
Contributions
Contributed Libraries must be downloaded individually. Select "Add Library..." from the "Import Library..." submenu within the Sketch menu. Not all available libraries have been converted to show up in "Add Library...". If a library isn't there, it will need to be installed manually. Follow the How to Install a Contributed Library instructions on the Processing Wiki for more information.
Contributed libraries are developed, documented, and maintained by members of the Processing
community. For feedback and support, please post to the
Forum. For development discussions post to the
Libraries and Tool Development
topic. Instructions for creating your own library are on the
Processing GitHub site.
Animation
Compilation
Data
GUI
Geometry
Hardware
I/O
Language
Math
Other
Simulation
Sound
Typography
Utilities
Video & Vision
3D
-
ProScene
by Jean Pierre CharalambosHighly customizable and full featured yet simple to use camera library.
-
HE_Mesh
by Frederik VanhoutteHE_Mesh is an implementation of a half-edge datastructure for manipulating 3D meshes.
-
OCD: Obsessive Camera Direction
by Kristian DamkjerThe Obsessive Camera Direction (OCD) library allows intuitive control and creation of Processing viewport Cameras.
-
OBJLoader
by Tatsuya Saito and Matt Ditton.OBJ 3D model file loader
-
Shapes3d
by Peter Lager3D Shape creation and display made easy.
Animation
-
Ani
by Benedikt GrossA lightweight library for creating animations and transitions.
-
Motion
by Yonas SandbaekMotion simplified.
-
ijeomamotion
by Ekene IjeomaA cross-mode Processing library for sketching animations with numbers, colors vectors, beziers, curves and more.
-
Sprites
by Peter LagerSprite control and animation for games and graphic applications.
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
-
Frames
by Michael HeuerSprite sheet and frame animation support in Processing.
Compilation
-
gicentreUtils
by Jo Wood and Aidan SlingsbyAssists creation of data visualization sketches.
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
Data
-
GML4U
by Jerome Saint-ClairA Graffiti Markup Language library for Processing.
-
SFTP
by Daniel ShiffmanSFTP direct from Processing (using JSch)
-
QRCode
by Daniel ShiffmanReads QR Code images, a two-dimensional barcode format.
-
Carnivore
by RSGSurveillance tool for data networks.
-
MapThing
by Jon ReadesA collection of classes for reading and displaying Shape files (a.k.a. ESRI shapefiles), CSV, and GPX data in a map-based sketch.
-
YahooWeather
by Marcel Schwittlick / onformativeFramework for including weather data into Processing.
-
Share
by Maxime Walzberg (Nucky)Classes to create a poll in a Processing sketch, and to read/send string messages to a server from a sketch.
-
oscP5
by Andreas SchlegelAn Open Sound Control (OSC) implementation.
-
UDP
by Stephane CousotEnables simple UDP communication, as well as multicast support.
-
SoundCloud
by Darius MorawiecUnofficial Java library, which simplifies the use of the official SoundCloud Java API wrapper.
GUI
-
G4P
by Peter LagerProvides a set of 2D GUI controls and multiple window support.
-
Guido
by Florian JenettA simple cross mode GUI library
-
ControlP5
by Andreas SchlegelA range of controllers to build custom graphical user interfaces for desktop and android apps.
Geometry
-
Geomerative
by Ricard MarxerExtends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
Hardware
-
Most Pixels Ever
by Daniel Shiffman and ITPFramework for spanning Processing sketches across multiple screens.
-
Sudden Motion Sensor
by Daniel ShiffmanInterface to the Apple Sudden Motion Sensor in MacBooks.
-
Apple Light Sensor
by Martin RaedlingerInterface to the Light Sensor in MacBook Pro computers.
-
Ketai
by Daniel Sauter and j.duranAndroid library for working with sensors, cameras, multi-touch, networking, Bluetooth, WiFi Direct, Near Field Communication, and SQLite
-
dmxP512
by Henri DAVIDDMX output for enttec DMX USB PRO and lanbox LCE.
-
LeapMotion
by Michael Heuer and Leap Motion, Inc.Forwards Leap Motion controller events to a Processing sketch.
I/O
-
Collada Loader for Google Sketchup
by Markus Zimmermannimports into Processing kmz or dae files that is created by Google Sketchup 8
-
ezGestures
by Elie ZananiriA modular gesture recognition library.
-
NXTComm Processing
by Jorge C. S. CardosoThe NXTComm Processing library allows you to control the Lego Mindstorms NXT robots.
-
MindSet Processing
by Jorge C. S. CardosoThe MindSetProcessing library allows you to use the NeuroSky Mindset brainwave sensing headset with Processing.
-
Gamepad
by Michael Heuer and Iain LobbA port of the Gamepad ActionScript library for Flash.
-
proJMS
by Hauke AltmannPublish and consume text messages to create peer-to-peer communication between processing applications.
-
OBJExport
by Jesse Louis-RosenbergThis is a simple library to export surfaces from processing as OBJ files. It is used the same way the PDF library is used.
-
SelectFile
by Ostap AndrusivAndroid library which provides Dialogs for selectInput(), selectFolder() and selectOutput() methods.
-
Simple Multi-Touch (SMT)
by Zachary Cook, Erik Paluka, Dr. Christopher Collins, and Dr. Mark HancockA toolkit for making multi-touch easy to use for non-programmers.
Language
-
RiTa
by Daniel C. HoweA library for experiments in natural language and generative writing.
Math
-
gwoptics
by Daniel Brown and Andreas FreiseTools for drawing graphs in 2D and 3D.
-
LSystems
by Martin ProutUtilities for exploring lsystems.
Other
-
Path_Finder
by Peter LagerFind paths through 2D/3D navigation graphs.
Simulation
-
Fisica
by Ricard MarxerA wrapper for JBox2D, a 2D physics engine.
-
Cell Noise
by Carl-Johan RosénAlgorithm for generating cell/worley noise.
-
PBox2D
by Daniel ShiffmanA library and set of examples for 2D physics simulation wrapping some aspects of JBox2D, a Java implementation of Box2D.
-
Carnivore
by RSGSurveillance tool for data networks.
-
Combinatorics
by Florian JenettGenerate combinations, variations and permutations
-
Hermes
by Ryan Lester, Chris Novello, Sam Eilertsen, and Jen KovnatsExperimental game framework and engine for rapid prototyping of games and simulations.
Sound
-
The MidiBus
by Severin SmithThe MidiBus is a minimal MIDI library for Processing, no frills, no limitations.
-
SuperCollider client for Processing
by Daniel JonesFramework to interface with the SuperCollider synthesis engine.
-
ttslib
by Nikolaus Gradwohlttslib makes your sketches speak with the help of freetts.
Typography
-
Geomerative
by Ricard MarxerExtends 2D geometry operations to facilitate generative geometry. Includes a TrueType font interpreter.
-
Fontastic
by Andreas KollerA font file writer for Processing.
Utilities
-
ID3
by Jorge C. S. CardosoExtracts ID3 tags from Mp3 files.
-
Post To Web
by Yonas SandbaekUpload files to a web server, supported formats are pdf, png, jpeg, gif and tiff.
-
keystone
by David BouchardA video projection mapping library which allows to warp sketches onto any flat surface by using corner pin keystoning.
-
Nest
by Eric SocolofskyScenegraph and mouse event handling system based loosely on ActionScript 3.0.
-
P8gGraphicsSVG
by Philippe LhosteAllows Processing to export the drawings of a sketch in SVG format.
-
$1 Unistroke Recognizer
by Darius MorawiecImplementation of the $1 Gesture Recognizer, a two-dimensional template based gesture recognition.
-
Executor
by Michael HeuerScheduled executor service for Processing.
Video & Vision
-
Open Kinect
by Daniel ShiffmanA Kinect implementation for Processing using open source drivers (libfreenect)
-
BlobDetection
by Julien 'v3ga' GachadoatComputer vision library for finding blobs in an image
-
OpenCV
by Stephane Cousot and Douglas Edric StanleyAn OpenCV implementation for processing including blob detection, face recognition and more.
Legacy Libraries
The libraries in this category haven't been updated by their creators to be compatible with the Processing 2 library manager and/or updated to work with Processing 2. We hope to have all libraries working with Processing 2; if one of your favorite libraries hasn't been updated, we encourage you to contact the library creator or to update it yourself and share it. Instructions for creating a Processing 2 library are on the Processing GitHub site..
-
Tactu5
by Alessandro Capozzo -
Beads
by Ollie Bown -
jm-Etude
by Daniel Dihardja -
Ess
by Krister Olsson -
Sonia
by Amit Pitaru -
SoundCipher
by Andrew R. Brown -
Echonestp5
by melka -
supercad
by Guillaume Labelle -
blinkenlights exporter
by ruin & wesen -
IgnoCodeLib
by Paul Hertz -
sDrop
by Andreas Schlegel -
povwriter
by Martin Prout -
MRI3DS
by Victor Martins -
ObjImport
by Victor Martins -
proDOC
by Christian Riekoff -
fullscreen api
by Hansi Raber -
Timeline
by D. Rifkin -
Unfolding
by Till Nagel, Felix Lange, et al. -
Proclipsing + P5Exporter
by Brian Ballantine, Daniel C. Howe and Matt Parker -
napplet
by Adam Smith -
Mother
by Ilias Bergstrom -
terrapin
by George Bashi and Ollie Glass -
proCONTROLL
by Christian Riekoff -
Apple Light Sensor
by Martin Rädlinger -
novation launchpad
by Tobias Bielohlawek -
touchatag
by Augusto Esteves -
JTablet
by Cellosoft -
ProTablet
by Andres Colubri -
codethread
by Diatom Studio -
Shapetween
by Lee Byron and Golan Levin -
gifAnimation
by Patrick Meister -
NextText
by Elie Zananiri and Obx Labs -
Vertext
by Michael Chang -
point2line
by Carl Emil Carlsen -
MovingLetters
by Ilu -
wordookie
by Michael Ogawa -
GSVideo
by Andres Colubri -
integralhistogram
by Giovanni Tarducci and Alessio Barducci -
blobscanner
by Antonio Molinaro -
jmcvideo
by Angus Forbes -
Face Detect (PC)
by Bryan Chung -
TUIO Client
by Martin Kaltenbrunner -
P-SURF
by Claudio Fantacci and Alessandro Martini -
simple-openni
by Max Rheiner -
JMyron (WebCamXtra)
by Josh Nimoy et al. -
LibCV
by toxi -
tuioZones
by jLyst -
CbModel
by Federico Bartoli -
SuperPoint
by JohnG -
UnwrappingLib
by Martin Fuchs -
surfaceLib
by Andreas Köberle and Christian Riekoff -
Gestalt
by Patrick Kochlik and Dennis Paul -
anar
by LaBelle and Nembrini -
VolTron
by Joseph Scully -
GLGraphics
by Andres Colubri -
Physics
by Jeffrey Traer Bernstein -
MSAFluid
by Memo Akten -
AI Libraries
by Aaron Steed -
Eliza
by Andres Colubri -
MatrixMath
by Francis Bitonti -
Cellular Automata
by Francis Bitonti -
BoxWrap2D
by ewjordan -
Interfascia
by Brendan Berg -
ModelBuilder
by Marius Watz -
toxiclibs
by toxi -
victamin
by Victor Martins -
iGeo
by Satoru Sugihara -
bluetoothDesktop
by Patrick Meister -
Yahoo! Search Library
by Daniel Shiffman -
XBee
by Rob Faludi and Dan Shiffman -
proMidi
by Christian Riekoff -
proHTML
by Christian Riekoff -
proXML
by Christian Riekoff -
SQLibrary
by Florian Jenett -
Monomic
by Jesse Kriss -
XlsReader
by Florian Jenett -
ical4p
by Nikolaus Gradwohl -
colorlib
by Andreas Koeberle and Jan Vantomme -
Tweet Stream
by Mark McBride -
xmlrpclib
by Burak Arikan -
EEML Library
by Usman Haque