Curious about creative coding, or not sure what to do for your next project? Here are some resources to get you started, whether you are an artist or a programmer or both. Resources followed by an asterisk (*) require no coding to use.

The resources linked here are primarily tools and how-tos. Visit our inspo page for examples of creative work.

Awesome Creative Coding—a masterlist of resources, events, and communities for generative art, data visualization, and interaction design.
Generative Art Links—a page of resources for generative art, math art, and livecoding.


Learn Python, a general-purpose scripting language. Many resources on this page use Python.
Learn HTML to build your own websites.
Learn CSS to stylize your websites. Many interactive fiction engines (such as Twine and Squiffy) let you customize the CSS of your story to create a more unique appearance.
Learn JavaScript, a scripting language widely used for web development. Many resources on this page use JavaScript to create generative art based in the browser.
repl.it—browser-based code editor. Great for learners—minimal setup required.


Nodal—a generative music software.
Pure Data—a visual programming language for multimedia.
ToneJS—a framework to create interactive music in the browser.
SuperCollider—open-source software for audio synthesis and algorithmic composition.


Glitch Art Resources*—tutorials for creating datamoshed (“glitched”) images and videos.
Artbreeder*—use machine learning models to generate paintings, portraits, landscapes, image fusions, and more.
Hydra—a web-based livecoding tool. (Photosensitivity warning: flashing colors)
OpenProcessing—a platform for generative artists using p5.js. The site includes tutorials, examples, and an online code editor where you can create, save, and share your creations.
Processing—a Java-based sketchbook software.
Nodebox—a Python alternative to Processing.
WebGL Tutorial—Learn how to use WebGL, a JavaScript API for 3D graphics.


Twine*—a hypertext fiction tool. Create stories and games navigated through links.
Squiffy*—a hypertext fiction tool similar to Twine.
Quest*—create text-based adventure games (navigated with input text).
Code Your Own Text-Based Adventure—a beginner-friendly tutorial in Python.


Write A Generative Poem With No Technical Knowledge—create a visual poem that displays snippets at random.
Simulate Text with Markov Chains in Python—generate text based on source material.
Text Generation with an RNN—generate text character-by-character using machine learning.