# p5.brush — Standalone Build
The standalone build (`dist/brush.js` / `dist/brush.esm.js`) runs without p5.js. It needs nothing beyond a WebGL2-capable browser.
For the p5 build see the main [README](../README.md).
---
## Table of Contents
- [Installation](#installation)
- [Custom tip brushes](#custom-tip-brushes)
- [Setup](#setup)
- [Frame lifecycle](#frame-lifecycle)
- [Transforms](#transforms)
- [Angle mode](#angle-mode)
- [Seeding](#seeding)
- [API reference](#api-reference)
- [Differences from the p5 build](#differences-from-the-p5-build)
---
## Installation
### Script tag (UMD)
Download `dist/brush.js` from this repository and include it in your HTML. It exposes a global `brush` object.
```html
```
### ESM module via npm
```js
// After: npm install p5.brush
import * as brush from 'p5.brush/standalone';
```
### ESM module via local file
```js
import * as brush from './dist/brush.esm.js';
```
---
## Setup
### Using `brush.createCanvas()`
The simplest path. Creates a `