🏆
BasePaint Hackathon 2026 — Winner "For Artists" category winner
See announcement ↗
BasePaint Hackathon 2026

Tools that should've been there from day one.

A Chrome extension for basepaint.xyz/paint that adds bucket fill, image upload, color picker, mirror, and a clean stroke downloader — all without leaving the canvas.

4
Tools
0
External deps
$0
Always free
CC0
Open source
Tools

Four tools. One toolbar.

Drops in next to basepaint's native tools. Each one solves a real friction point.

Bucket Fill

Flood fill a connected region with the active palette color. Exact-color match, 8-way. Hotkey B.

Image Upload

Drop an image or pick a file. Pixels are matched to today's palette and pasted as strokes.

Color Picker

Click any pixel on the canvas — a magnifier preview shows the local area, and the closest palette color becomes your active color. Hotkey I.

Stroke Download

Export your strokes as a PNG (transparent background) or as a basepaint-paste-ready text file. Split into N-pixel chunks to work around the per-stroke cap.

How it works

It reads your strokes. It doesn't touch the chain.

The plugin lives as a content script inside basepaint.xyz. It reads from your existing strokes (via the native Copy button or the live canvas diff) and writes back via the same Paste button — so it stays accurate to what you've drawn but not committed.

Drop in

Install the Chrome extension, refresh /paint. Four new icons appear next to basepaint's native toolbar — no extra window, no new tab.

Fill / pick / upload

Each tool reads the canvas and writes back via basepaint's native Paste button. You see exactly what you'd see if you'd done it by hand.

Save your work

Download your strokes as a PNG (transparent background) or as a basepaint-paste-ready text file. Split into N-pixel chunks to work around the per-stroke cap.

Install

Up and running in ~2 minutes.

Not on the Chrome Web Store yet — load it unpacked while we finish the submission.

Option A — Download the release

Grab the latest .zip from the Releases page:

⬇ Download latest release

  1. Unzip the downloaded file
  2. Open chrome://extensions in Chrome
  3. Toggle Developer mode on (top-right)
  4. Click Load unpacked and pick the unzipped folder
  5. Visit basepaint.xyz/paint — the plugin loads automatically

Option B — From source

Clone the repo and load it unpacked:

git clone https://github.com/mrkjyqnt/basepaint-plugin.git
cd basepaint-plugin

Then follow steps 2–5 from Option A, pointing Load unpacked at the cloned folder.

Troubleshooting

  • Plugin icons don't appear → make sure you're on basepaint.xyz/paint, not the home page. The content script only matches /paint*.
  • Tools don't do anything → open DevTools console, look for [basepaint-plugin] logs. Most failures log a reason.
  • Upload palette looks wrong → the plugin reads today's palette from the swatch buttons. Make sure the page has hydrated.
Credits

Standing on shoulders.

Built for the BasePaint Hackathon (Aug 1–8, 2026). Two pieces of work made this plugin possible.

tooling
by Afuro — the clipboard-paste pattern that makes bucket & upload possible
tooling
by Creamy — plugin UX & canvas-tool reference