Paint bucket

Sitting in the toolbar's fourth row alongside Erase, Paint bucket fills an enclosed area with a single click — but it's specifically engineered to be forgiving about what "enclosed" actually means, which is what separates it from a naive flood-fill.

Activating it

Select Paint Bucket from the toolbar, or press G.

Formo paint bucket tool

Filling a region

Click once inside any area you want filled. The bucket finds the boundary around your click point and fills everything inside it with your current color. It's the same basic idea as a flood-fill in any raster tool, but working on your vector linework rather than pixels.

Fill vs. recolor

This is a distinction worth knowing: click inside empty, unfilled space enclosed by linework, and the bucket inserts a brand-new filled region there. Click directly on top of an area that's already painted, and the bucket instead recolors that existing region in place. It relabels what's already there rather than stacking a redundant new fill on top of it. Practically, this means you can use the bucket both to fill blank areas of a sketch and to freely change the color of something you already filled, without worrying about which case you're in: clicking the already-colored area just repaints it cleanly instead of layering paint on paint.

Why gaps in your linework don't break it

A hand-drawn line almost never closes perfectly: there's often a stray, pixel-sized gap where two strokes were meant to meet but didn't quite connect. Most flood-fill tools leak color straight through a gap like that, spilling out past the boundary you meant to contain it to. Formo's bucket doesn't: it bridges small gaps in the surrounding linework rather than treating them as an opening, so it fills the shape you clearly meant, not the technically-unclosed one your line actually drew.

Gap tolerance

How large a gap the bucket is willing to bridge is an adjustable setting: Gap, in the contextual panel, ranging from 0 up to 64 pixels in single-pixel steps, defaulting to 20. Turn it down toward 0 for precise, tight fills where you don't want the bucket forgiving anything (useful on dense linework where an intentional small gap should stay open). Turn it up for looser, more forgiving fills on rough sketch work where your linework has more stray breaks than usual.

The contextual panel, with Bucket active

Notably simpler than the brush's own panel, since there's no stroke being painted here, just a region being filled:

- Fill: the current color, same as the brush's own fill swatch.

- Recent colors: your last-used paints, for quick reuse.

- Gap: the tolerance setting covered above.

No nib picker, no Size or Smooth, no Brush options or Dynamics. All of that is specific to painting a stroke, and none of it applies to filling an already-enclosed region.

Bucket selection, its selection-mode sibling

Worth distinguishing from the paint tool itself: Bucket selection — one of the three variants under the Select Rectangle flyout, covered in Brush & freehand drawing — uses the same gap-tolerant region-finding logic, but to select the enclosed region instead of filling it. The two share the underlying boundary-finding behavior; only what happens once the region is found differs. Bucket Selection doesn't read the Gap tolerance setting, since it's a direct point-location click rather than a flood-fill.

Next up — Converting between brush strokes and vector paths: turning ink into geometry, and geometry into ink.

On this page

Formo

The browser studio where drawings become animations, toys, and games. Your files, open HTML export, nothing to install.