Making Art with Code: Where to Start

A beginner's guide to making art with code: p5.js, shaders, Three.js, long-form, plotters, and where to discover and publish algorithmic art.

Translated from the French. The original, Faire de l’art avec du code : par où commencer ?, is on my personal site.

Art made with code, or algorithmic art, still widely known in the field as generative art, keeps drawing more interest. After recent talks at MiXiT, MontpellierJS and DevFest Toulouse, a lot of people asked me how to get started. So here is a guide for beginners, focused on the approaches that are actually used.

Camille Roux on stage at the DevFest Toulouse closing ceremony

Telling the story of how I got here, at the DevFest Toulouse closing ceremony

Introduction

Algorithmic art is making visuals with code. My own specialty is long-form: work generated by JavaScript running in a browser, with no external API. Each collector receives a unique piece determined by a random number, usually the transaction number on the blockchain.

p5.js: the Paint of JavaScript

p5.js is where to begin. Picture Paint, but in JavaScript: to draw a circle, you call circle() with a position and a size.

That simplicity has limits: gradients are awkward, textures nearly impossible, performance constrained. And yet the constraints push creativity. Artists make astonishing work by drawing thousands of small shapes, simulating textures, or working almost at the level of the pixel.

To go further with p5, look at libraries like brush.p5, which simulates a brush and gives your work a more organic feel.

Shaders: the power of GLSL

Shaders take a different approach:

  • the vertex shader manipulates 3D geometry
  • the fragment shader draws or alters textures

The paradigm changes completely: your program runs on every pixel. To draw a circle, you compute the distance between the current pixel and the centre, then apply a condition based on the radius.

This opens up shapes that are out of reach in p5: circles with rippling edges, elaborate textures, precise gradients. Everything becomes possible once you work at pixel level.

To go deeper, get familiar with SDFs (Signed Distance Functions), which make it easy to manipulate shapes in both 2D and 3D.

Three.js: 3D within reach

Three.js is a JavaScript library for 3D, and it is also useful for setting up shaders or handling particles.

It takes the pain out of things that are complex in raw code. I recently made a piece driving hundreds of thousands of particles through GPGPU, and Three.js made the setup considerably easier.

Camille Roux - Generative artist@camillerouxart

100k particules

13 December 2024 · on X

Other approaches

Art made with code is not limited to those three. Artists also use:

  • HTML/CSS generated by JavaScript
  • SVG, very popular for pen plotting
  • dataviz libraries such as D3.js

Most generative art platforms simply run your code in a browser, so nearly any of these technologies can be used, as long as its licence allows it.

Where to discover art made with code

If you want to explore the field, a few platforms give you a window onto it.

Bootloader is the place I would point a beginner to today. It is a generative art platform on the Tezos blockchain, open to everyone: your code is stored on-chain, and each collector’s mint runs it to produce a unique edition. Fees on Tezos are low, which makes it a good playground for a first project; I released Mirage there in 2025.

Update, autumn 2026: when I first wrote this, I recommended fxhash, the French platform where I started. It closed in August 2026; the works published there live on, on-chain, and can still be seen and traded on objkt.

For something more curated, look at Art Blocks, gm.studio or gm.scribe. These platforms select their artists, which guarantees a certain level of quality but makes them harder to get into as a beginner. I have published INTRICADA with Bright Moments (whose galleries closed in 2024), The Source with gm.studio and Résilience with gm.scribe.

Instagram remains a good way to discover artists in this scene. Many share both their work and their process there.

What to take away

  • p5.js is ideal to start with: a simple, accessible API, with limitations
  • Shaders (GLSL) offer extraordinary power by working at pixel level
  • Three.js excels at 3D, and at bootstrapping complex projects
  • Long-form means collections of unique pieces, each determined by a random number set at purchase
  • Technical constraints push creativity
  • SDFs (Signed Distance Functions) are powerful mathematical tools for manipulating shapes
  • SVG is the format of choice in the pen plotting scene

Platforms

  • Bootloader: open generative art platform on Tezos, code stored on-chain
  • Art Blocks: a reference in the Ethereum ecosystem
  • gm.studio: curated platform
  • gm.scribe: curated platform on Bitcoin

Tutorials and learning

Libraries

I also put together an awesome list on generative art if you want to go further.

GitHub - camilleroux/awesome-generative-art · GitHub

If this makes you want to try, experiment and share what you make. Why not set yourself the goal of building one piece and publishing it on Bootloader? It is within reach, and it might be the start of something. It was for me: my own first release was SEA, 150 editions on fxhash in November 2021, shortly after the platform opened.

Keep going

The series Commissions

Newsletter