batchwright

Cleanup that shows its work before it touches your file.

Bulk operations on local styles and variables, plus ten one-click chores. Every operation is a plan first: Batchwright reads the file, works out exactly what would change, tells you what it declined and why, and only writes when you press Apply.

Preview — delete unused local styles
remove Colour/Legacy/Blue 400 no layer applies it
remove Colour/Legacy/Blue 500 no layer applies it
remove Text/Caption alt no layer applies it
… 31 more
decline Colour/Brand/Primary published by this file
decline Effect/Card shadow used by a variable alias
decline Text/Body applied inside a component
34 would be removed · 6 declined · 0 unverifiable

Nothing has changed yet. One Apply is one press of Ctrl/Cmd‑Z.

$15, one time. No subscription, no seat count, no expiry. The ten chores are free forever.

Styles and variables

OperationWhat it does
Delete unused stylesLocal styles no layer applies. Published styles are kept unless you tick the box.
Delete unused variablesChecked against every layer, style, component property and other variable — including alias chains.
Bulk rename stylesFind and replace, plain or regex, with {n} numbering.
Bulk rename variablesSame engine. A name collision inside a collection is refused, never quietly fudged.
Swap one style for anotherRe-points every consuming layer. Same kind only.
Swap a paint style for a variableDetaches the style and binds the colour variable to that fill.
Detach a styleUnlinks it everywhere. Layers keep the look they have now.

The ten chores, free

  1. Remove hidden layers
  2. Delete empty frames, groups and sections
  3. Rename default-named layers
  4. Round positions to whole pixels
  5. Apply existing paint styles to matching raw fills
  6. Find components with no instances (report only)
  7. Remove prototype links
  8. Unwrap single-child groups
  9. Sort pages by name
  10. Select layers by criteria

What it will not do, on purpose

It never deletes anything it cannot verify. If Figma will not hand over every page, every destructive operation is blocked outright. A partial scan cannot tell used from unused, and a plugin that guesses is a plugin that eats your design system.

Your files stay on your machine

Batchwright contacts exactly one address, and only when you paste a licence key or press Buy: it sends the key to be checked against your purchase. Nothing about your file is sent anywhere. Every scan, preview and edit happens inside Figma, on your machine. No analytics, no telemetry, no other host. The full detail is in the privacy policy.

Buying and keys

One payment unlocks the paid operations permanently. The key is yours; paste it into the plugin once and it stays unlocked. If you lose it, write to support with the email you paid from and it will be sent back to you.

Buy Batchwright — $15

Payments are handled by Polar, the merchant of record. Refunds within 14 days, no questions — see the terms.