remove.bg Figma Plugin Alternative: Three Ways to Remove Backgrounds in Figma After 1 December 2026
The remove.bg Figma plugin has been the default way to drop a cutout into a design without leaving Figma. It works by sending the selected image to remove.bg's API with your key — and remove.bg's own site says the standalone website and its API will no longer be available from 1 December 2026, with credits expiring the same day. So the plugin has a shelf life. Here are the three realistic replacements, from zero effort to an afternoon of code.
In this guide
Option 1: Figma's built-in AI remover
Figma added a native "Remove background" action to its AI feature set for images in Figma Design. Select an image, open the image controls (or the Actions menu), and choose Remove background. It is the least friction of all three because nothing leaves Figma. Two caveats to check on your own account: the AI features are gated by plan and region (they have rolled out to paid plans first and some regions later), and edge quality on hair and fine detail is where opinions differ. If it is available to you and the result is clean, stop reading here.
Option 2: the bgclear web tool round trip (free, HD)
For anyone without the Figma AI feature, or when its result needs a second opinion, the round trip is 30 seconds and free: select the image layer in Figma, export it at 2× or 3× as PNG (higher input resolution gives cleaner edges), drop the file on bgclear.ai, download the transparent PNG — no signup, no watermark, HD — and drag it back onto the Figma canvas. Two habits make this painless. Export the raw image, not the frame with effects, so the remover sees the original pixels. And keep the original layer hidden rather than deleted, in case you want to re-run with a different crop. For colour backgrounds or studio backdrops, use the editor before downloading — solid colours, gradients, blur and shadows are all there.
Option 3: a 60-line private Figma plugin on the bgclear API
Teams that removed dozens of backgrounds a day through the remove.bg plugin can keep that in-canvas workflow with a small private plugin. Figma plugins can make network requests from the plugin UI (an iframe) when the domain is allow-listed in the manifest. The main thread reads the selected image's bytes, the UI sends them to the API, and the main thread swaps in the result.
{
"name": "Cutout (bgclear)",
"id": "your-plugin-id",
"api": "1.0.0",
"main": "code.js",
"ui": "ui.html",
"editorType": ["figma"],
"networkAccess": { "allowedDomains": ["https://www.bgclear.ai"] }
}// code.ts — main thread: read the selected image, hand bytes to the UI, apply the result
figma.showUI(__html__, { visible: false });
const node = figma.currentPage.selection[0] as GeometryMixin & SceneNode;
const fills = node && Array.isArray(node.fills) ? (node.fills as Paint[]) : [];
const imageFill = fills.find((f) => f.type === "IMAGE") as ImagePaint | undefined;
if (!imageFill?.imageHash) figma.closePlugin("Select a layer with an image fill");
figma.getImageByHash(imageFill!.imageHash!)!.getBytesAsync().then((bytes) => {
figma.ui.postMessage({ type: "remove", bytes });
});
figma.ui.onmessage = (msg) => {
if (msg.type === "result") {
const image = figma.createImage(new Uint8Array(msg.bytes));
node.fills = [{ type: "IMAGE", scaleMode: "FILL", imageHash: image.hash }];
figma.closePlugin(`Done — credits left: ${msg.remaining}`);
} else {
figma.closePlugin(`bgclear: ${msg.error}`);
}
};<!-- ui.html — runs in an iframe, allowed to fetch -->
<script>
const KEY = "bgc_live_YOUR_KEY"; // personal use only — for a team, call your own proxy instead
onmessage = async ({ data: { pluginMessage: msg } }) => {
if (msg.type !== "remove") return;
const form = new FormData();
form.append("image_file", new Blob([new Uint8Array(msg.bytes)]), "layer.png");
form.append("size", "full"); // preview (free, ≤800px) | full (1 credit) | auto
form.append("format", "png");
const res = await fetch("https://www.bgclear.ai/api/v1/remove", {
method: "POST", headers: { Authorization: "Bearer " + KEY }, body: form,
});
if (!res.ok) {
const { error } = await res.json();
parent.postMessage({ pluginMessage: { type: "error", error: error.message } }, "*");
return;
}
const bytes = await res.arrayBuffer();
parent.postMessage({ pluginMessage: { type: "result", bytes, remaining: res.headers.get("X-Credits-Remaining") } }, "*");
};
</script>Run it from Plugins → Development → Import plugin from manifest. Two production notes: a key inside a plugin is visible to anyone who has the plugin files, so a plugin shared across a team should call a small proxy that holds the key (the Node and Python guides show one), and images over 4 megapixels at full size should go through the async jobs endpoint — or export at a sensible size first.
Which one to choose
Occasional use, on a plan with Figma AI: option 1. Occasional use without it, or when you want HD output and the editor's backdrops: option 2 — free, and the same tool your non-designers can use. Dozens of cutouts a day inside the canvas: option 3, with a proxy if the plugin is shared. The API side costs one credit per full-resolution image — $9 for 100, $39 for 500, $129 for 2,000; credits never expire and previews are free (pricing). Nothing here needs a remove.bg account, which is the point: use your remaining remove.bg credits before 1 December 2026, then let the plugin go. Details of the API mapping for developers are on the remove.bg API alternative page.
Frequently asked questions
Will the remove.bg Figma plugin stop working exactly on 1 December 2026?
remove.bg's notice says the standalone website will no longer be available from 1 December 2026 at 9:00 CET and that background removal moves to Leonardo.Ai. The plugin calls remove.bg's API, so plan for it to stop then; test a replacement before.
Is there an official bgclear Figma plugin?
Not in the Community yet. The private-plugin code above is complete and takes about ten minutes to set up; the web tool round trip needs nothing installed.
Does the web tool keep full resolution?
Yes — output matches your upload's resolution, with no watermark and no signup. Export from Figma at 2× or 3× for the cleanest edges.
Can I get a coloured or studio background instead of transparent?
In the bgclear editor, yes: solid colours, gradients, studio backdrops, blur and shadows. Via the API, bg_color gives any solid hex colour.