# How to Make an Image Transparent (and Check It Actually Is)

> Use a one-color tool for flat logos, a background remover for photos, and ChatGPT for new art. Save as PNG, then test it on a dark background before sending.

- URL: https://blog.laozhang.ai/en/posts/transparent-image-maker
- Published: 2026-06-20
- Updated: 2026-09-25
- Author: LaoZhang AI Team (https://blog.laozhang.ai/en/about)
- Topic: AI Image Generation
- Tags: Transparent PNG, Background Removal, ChatGPT Images, GPT Image 2.5

---
To make an image transparent, remove the background with a tool that fits the picture, save it as PNG (WebP for websites, SVG for vector logos), and check it on a dark background before you send it. The tool depends on what you start with: a logo on a flat white box only needs one color turned transparent, a photo or product shot needs a real background remover, and a brand-new sticker or icon can be generated with a transparent background from the start. JPG can't store transparency at all, so a file saved as JPG always comes back with a solid background, usually white.

A note on wording: some apps use "make transparent" to mean lowering the opacity of the whole picture. That's a different setting. Everything below is about removing the background so only the subject is left.

## Pick the method by what you're starting with

| What you have | What works | What to watch |
| --- | --- | --- |
| Logo, icon or clip art on one flat color | "Set Transparent Color" in desktop Office apps, or any magic-wand / color-select eraser | Only one color can go transparent; a faint rim of the old color can stay on soft edges |
| Photo, product shot, person or pet | A background remover: Office Remove Background, macOS Preview, Windows 11 Paint, Canva, or an online remover | Hair, fur, glass and soft shadows; whether you're allowed to upload the photo to a third-party site |
| Product with label text or a logo that must not change | A selection-based remover working on the original file (Office, Preview, Paint or a photo editor) | AI chat tools redraw the image, so small text and logos can shift |
| An asset that doesn't exist yet | ChatGPT Images, or the GPT Image 2.5 API with a transparent background | A checkerboard painted into the pixels instead of real transparency |
| Hundreds of images, or an automated pipeline | An image API such as the GPT Image 2.5 edit endpoint | Per-image cost, redrawn details, and checking every output in code |

If what you actually want is a new background (a studio backdrop, a different scene) rather than no background, that's a replacement job; the [Gemini image background change guide](https://blog.laozhang.ai/en/posts/gemini-image-background-change) covers removing and replacing backgrounds with the Gemini app and API.

People often ask which transparent background software is the most reliable. None of them is reliable on every image. A remover that nails a sneaker on a white table can leave a gray halo around curly hair or erase a glass bottle. What makes the result reliable is the check at the end, and that check is quick.

## Tools you already have, and online removers

### Microsoft Office desktop apps

Word, PowerPoint, Excel and Outlook (Microsoft 365, 2021 and 2024, on Windows and Mac) all include two different tools under **Picture Format**:

- **Remove Background** is for photos. Office tints the area it plans to remove in magenta. Use **Mark Areas to Keep** and **Mark Areas to Remove** to fix mistakes, then click **Keep Changes**. To get a file out, right-click the picture, choose **Save as Picture**, and pick PNG as the file type.
- **Color > Set Transparent Color** is for flat graphics. You click one color and it disappears. Microsoft is explicit that you can't make more than one color transparent, and that it works best on simple, solid-color pictures such as clip art. It isn't available in Word for the web.

Office tools work on your computer, which matters when the photo belongs to a client or an unreleased product. Remove Background doesn't work on vector graphics (SVG, AI, WMF, DRW).

### macOS Preview

Open the image in Preview and click the **Remove Background** button. If the file is a JPG, Preview asks to convert it to PNG; accept, or duplicate the file first if you want to keep the original. **Edit > Undo** brings the background back if the cutout goes wrong.

### Windows 11 Paint

Paint gained one-click background removal (for the whole canvas or a selection) and support for layers and transparent PNGs in updates that began rolling out to Windows Insiders in September 2023. Menu labels can differ between Windows 11 builds, so look for the background removal button in the toolbar and save as PNG. Paint 3D is no longer an option; Microsoft removed it from the Microsoft Store on November 4, 2024.

### Canva

In Canva, delete the background (or set it to white), then go to **Share > Download**, choose **PNG**, turn on **Transparent background**, and download. The catch: Canva's help center says transparent downloads are only available on Canva Pro, Teams, Business, Education and Nonprofits plans. If the toggle is missing, you're on a free plan, you've picked a format other than PNG or SVG, or you're working in Canva Docs, which can't be downloaded with a transparent background.

### remove.bg and other online removers

Online removers such as remove.bg, Adobe Firefly, Photoroom and Pixelcut do the whole job in the browser: upload, wait, download a PNG. Two things to know before you rely on one:

- **remove.bg is changing.** Its background removal is moving into Canva, and the standalone remove.bg website stops working on December 1, 2026, at 9:00 a.m. CET. Pay-as-you-go credits expire at the same moment, and API pricing now points to Leonardo.ai. Don't buy credits you won't use before then.
- **"Free" varies.** Free previews, download resolution and daily limits differ by service and change often. Check the pixel size of the file you actually download, not the promise on the landing page.

Uploading also means a copy of your image sits on someone else's server. For client work, unreleased products or photos of people, read the service's terms or stay with the local tools above.

## Can ChatGPT remove a background or make a transparent PNG?

Yes. OpenAI's help center says ChatGPT Images can "make the background transparent," and you can upload an existing image and describe the edit you want. ChatGPT Images is available on all plans, including free, on the web, iOS and Android. ChatGPT Images 2.5 is the current version. Spell out what to keep, rather than leaving the model to guess from a bare "remove the background":

> Remove the background from this photo and give me a PNG with a transparent background. Keep the product exactly as it is: same shape, colors, logo and label text. No floor, wall or shadow outside the product.

Three limits to plan around:

1. **ChatGPT redraws the image.** It generates a new picture rather than cutting pixels out of yours. OpenAI's own guidance warns that edits can change details you meant to preserve, and that anything that must stay pixel-identical should be composited from the original. For a product whose label or logo has to match exactly, use a selection-based tool from the section above.
2. **Selections are loose.** The help center notes that highlights in the image editor "are not always precise, and edits may extend beyond the area you selected."
3. **The download may not be transparent.** OpenAI doesn't document the file format of ChatGPT downloads. In May and June 2026, before Images 2.5, users on the OpenAI Developer Community reported getting a gray-and-white checkerboard painted into the image instead of real transparency, while others got a working transparent file. Treat every download as unverified until it passes the checks below.

For more on where image creation and editing live in ChatGPT, see [ChatGPT Images 2.5: How to Use It in ChatGPT and the API](https://blog.laozhang.ai/en/posts/chatgpt-images-2-5). If you process many images in a day, the [ChatGPT image generation and upload limits](https://blog.laozhang.ai/en/posts/chatgpt-image-generation-upload-limits) are worth knowing before you start.

If you're trying another chat assistant, Grok included, apply the same rule: the downloaded file tells you whether the background is gone, not the assistant's reply.

## Check the file before you send it

![Three numbered checks for a downloaded PNG: a file format that can store transparency, alpha values from 0 fully transparent to 255 fully opaque, and a usable cutout inspected against light, dark and pink backgrounds](https://blog.laozhang.ai/posts/en/transparent-image-maker/img/transparency-checks.webp)

A file can pass as "transparent" in a thumbnail and still fail in a slide deck or on a product page. Run these three checks in order.

**1. The format can hold transparency.** The file should be a PNG or WebP (or SVG for a vector logo). On Windows, turn on file name extensions in File Explorer; on a Mac, use **Get Info**. The extension alone proves nothing, though. Renaming `photo.jpg` to `photo.png`, or running a "JPG to PNG converter" that doesn't remove anything, gives you a PNG that still contains the old background.

**2. The background is really transparent.** Drop the image onto a dark slide, a dark Canva page or a dark document background. A real cutout shows the dark color behind the subject. A white box means the background was never removed. A gray-and-white checkerboard means the checkerboard is part of the picture. That's the trap to know: a checkerboard drawn by an editor behind your image usually signals transparency, but a checkerboard that travels with the image onto a dark page is painted pixels.

**3. The edges hold up on every background.** A cutout that looks clean on white can show a light halo on navy, or a gray fringe on a saturated color.

![The same red hiking boot cutout on light, dark navy and magenta backgrounds, with zoomed circles on the laces and suede edge to spot halos, fuzz and color fringing](https://blog.laozhang.ai/posts/en/transparent-image-maker/img/inspect-cutout-edges.webp)

View the image at full size on a light, a dark and a strongly colored background, and zoom to 200–400% around hair, laces, fur and glass. Look for three problems: a light or dark halo left from the old background, missing pieces (a strap, a gap between fingers that stayed filled), and haze where the background was only partly removed. Some softness is normal. Hair, glass and soft shadows need partly transparent pixels to look natural, so don't sharpen those edges to fully on or off without reason.

If the file is going to print (stickers, acrylic keychains, badges), two extra checks apply. Partly transparent areas such as soft shadows can print differently from how they look on screen, because the printer composites them with white. A low-resolution PNG prints with jagged edges; ZEAMI Goods, a Japanese print shop, recommends preparing artwork at five times the finished size or more. Ask your printer what it accepts.

### Check it with a short script

If you want exact numbers, or you need to check a folder of files, this Python script reads the transparency channel directly. Install Pillow first (`pip install pillow`), save the script as `check_alpha.py`, and run `python check_alpha.py cutout.png`.

```python
import sys
from pathlib import Path
from PIL import Image

path = Path(sys.argv[1])
with Image.open(path) as im:
    print(f"{path.name}: format {im.format}, mode {im.mode}")
    if im.format not in ("PNG", "WEBP"):
        print("Warning: this file format cannot store the transparency you need.")
    rgba = im.convert("RGBA")  # turns palette transparency into a real alpha channel

alpha = rgba.getchannel("A")
low, high = alpha.getextrema()
hist = alpha.histogram()
total = rgba.width * rgba.height
clear, solid = hist[0], hist[255]
partial = total - clear - solid
print(f"transparent {clear / total:.1%} | partial {partial / total:.1%} | opaque {solid / total:.1%}")

if low == 255:
    print("Result: fully opaque. Nothing was removed; any checkerboard you see is painted in.")
elif high == 0:
    print("Result: fully transparent. The image is empty.")
elif low == high:
    print("Result: the whole image is evenly see-through. That is lowered opacity, not a cutout.")
else:
    print("Result: cutout present. Now check the edges in the three previews.")

for name, color in {"light": "#ffffff", "dark": "#111827", "color": "#ff00aa"}.items():
    backdrop = Image.new("RGBA", rgba.size, color)
    out = path.with_name(f"{path.stem}-on-{name}.png")
    Image.alpha_composite(backdrop, rgba).convert("RGB").save(out)
    print("preview:", out.name)
```

Every pixel has an alpha value from 0 (fully transparent) to 255 (fully opaque). The script reports four outcomes: fully opaque (nothing was removed, which is what a painted checkerboard or a renamed JPG looks like), fully transparent (an empty image), evenly see-through (the opacity was lowered instead of the background removed), or a real cutout. It also saves three previews next to the file, on white, near-black and magenta, so you can do the edge check without opening an editor. There's no universal "good" percentage of transparent pixels; a small logo on a wide canvas and a full-frame portrait will look very different. The script tells you what kind of file you have, and the previews tell you whether the cutout is usable.

## Where transparency gets lost, and how to fix it

When a transparent file stops being transparent, the problem happened at one of three stages: when the image was made, when it was exported, or when it was uploaded somewhere.

| What you see | Where it went wrong | Fix |
| --- | --- | --- |
| Checkerboard on a dark page | Made: the checkerboard is painted into the pixels | Run a background remover on it, or regenerate and check the new download |
| White box around the subject | Made or exported: the background was never removed, or the file was saved as JPG | Remove the background, then save as PNG |
| Canva download has a white background | Exported: "Transparent background" was off, JPG was chosen, or the plan doesn't include it | Download as PNG with the toggle on, on a plan that supports it |
| Label text or logo looks different | Made: an AI tool redrew the subject | Cut out the original with a selection-based tool instead |
| Light or gray rim around the edges | Made: the remover kept a strip of the old background | Refine with Mark Areas to Remove or an eraser, then recheck on dark and light backgrounds |
| Transparent on your computer, white after upload | Uploaded: the site converted the file to JPG or flattened it | Check which formats the site keeps, upload PNG, and look at the published result on a dark background |
| Soft shadow prints as a pale box | Printed: partly transparent pixels composited with white | Remove the shadow or make it solid, and confirm with the printer |

## Which format to send

- **PNG** is the safe default. It keeps transparency, and it's the format to send when someone asks for "a picture with a transparent background."
- **WebP** also stores transparency and suits websites. Confirm the destination accepts WebP before you send it.
- **SVG** is the right choice for a logo you have as vector artwork. It stays sharp at any size and supports transparency.
- **JPG** never works for transparency. Canva's own file-type guide describes JPG as "best for photographs" and lists PNG and SVG as the formats that support transparency.

For print jobs, ask the printer first. PSD, AI and TIFF files can also carry transparency, so check which one the printer wants.

## Removing backgrounds in bulk with the GPT Image 2.5 API

For hundreds of product photos, or cutouts inside an app or workflow, OpenAI's image edit endpoint (`POST /images/edits`) can take a photo and return it on a transparent background. As of September 25, 2026, OpenAI's API reference says `gpt-image-2.5-sunburst` and `gpt-image-2.5-flare`, including their `2026-09-08` snapshots, support `background="transparent"`; for `gpt-image-2` that support is still in preview. With a transparent background, set `output_format` to `png` or `webp`. OpenAI's prompting guide adds two practical rules: ask for an isolated subject in the prompt as well as setting the parameter, and leave out `output_compression` for PNG.

OpenAI suggests Flare when speed is the priority and Sunburst when quality requirements are demanding. For a first pass on a large catalog, start with Flare and switch to Sunburst for the images that fail your check; [GPT Image 2.5 Sunburst vs Flare: Which to Use, by the Numbers](https://blog.laozhang.ai/en/posts/gpt-image-2-5-sunburst-vs-flare) compares the two in more detail.

```python
import base64
from openai import OpenAI

client = OpenAI()  # reads OPENAI_API_KEY, and OPENAI_BASE_URL if it's set

with open("product.jpg", "rb") as photo:
    result = client.images.edit(
        model="gpt-image-2.5-flare",
        image=photo,
        prompt=(
            "Remove the entire background and keep only the boot. "
            "Preserve its shape, colors, laces and logo exactly. "
            "No floor, wall or shadow outside the boot."
        ),
        background="transparent",
        output_format="png",
        quality="medium",
    )

with open("product-cutout.png", "wb") as out:
    out.write(base64.b64decode(result.data[0].b64_json))
```

GPT Image models return the image as Base64 in `data[0].b64_json`, so the file only exists after you decode and save it. Run the check script on each output; in a batch, flag any file that comes back fully opaque and any file whose previews show a halo. The same limit as ChatGPT applies: this is a generative edit, so small label text can change. For labels that must match the original exactly, composite the approved cutout onto the original pixels, or use a local selection tool.

### What it costs

OpenAI prices GPT Image 2.5 by tokens: $30 per 1M image output tokens and $8 per 1M image input tokens, the same for Sunburst and Flare. OpenAI's calculator puts the output alone for a 1024x1024 image at about $0.00588 on low quality, $0.01317 on medium and $0.05268 on high. An edit also pays input tokens for the photo you upload, so the real per-image cost is higher than those output figures.

LaoZhang API offers `gpt-image-2.5-flare-vip` and `gpt-image-2.5-sunburst-vip` at a flat $0.03 per call (public pricing as of September 24, 2026). Its documentation says both models can remove the background from an uploaded image with `background=transparent` and `output_format=png` on `/v1/images/edits`. The comparison, for 1,000 cutouts:

*Disclosure: [laozhang.ai is our own service](https://blog.laozhang.ai/en/about#laozhang). Its prices are platform pricing, not an independent comparison.*

- Official API, medium quality: 1,000 × $0.01317 = about $13.17 in output tokens, plus input tokens for 1,000 photos.
- Official API, high quality: 1,000 × $0.05268 = about $52.68 in output tokens, plus input tokens.
- LaoZhang VIP: 1,000 × $0.03 = $30, whatever the image.

So at low or medium quality, the official API is cheaper on output tokens alone. The flat price wins when you need high quality or a bill you can predict before the job runs. Conditions to know before switching: the VIP models don't support `mask`, they were unavailable from September 16 to September 22, 2026 before coming back, and requests that fail without producing an image are generally not charged. To use them with the script above, set `OPENAI_BASE_URL=https://api.laozhang.ai/v1`, use your LaoZhang key as `OPENAI_API_KEY`, and change the model name. The LaoZhang documentation also warns against converting the result to JPEG, which removes the transparency. [GPT Image 2.5 Sunburst Pricing: Official Costs vs $0.03 per Call](https://blog.laozhang.ai/en/posts/gpt-image-2-5-api-pricing) works through the cost math in more detail.

If your pipeline runs in n8n, the built-in OpenAI node doesn't expose a transparent background setting for generated images; [GPT Image 2.5 in n8n](https://blog.laozhang.ai/en/posts/gpt-image-2-5-n8n) shows how to send the request with an HTTP Request node instead.
