Text Behind Image

Cut the subject out of your photo and slide type in between, so the words are partly hidden behind a person, pet, or product. Everything runs on your device.

What this text behind image tool does

This tool builds the popular text-behind-subject effect out of three stacked layers on a single canvas. Layer one is your original photo, untouched. Layer two is your text. Layer three is a cut-out of the main subject, saved as a transparent PNG and drawn pixel-for-pixel over the same coordinates as layer one. Because the top layer carries the exact same pixels the photo already had wherever it keeps something, the subject appears to stand in front of the words while the rest of the scene stays behind them. Nothing is erased or masked away, and the illusion comes entirely from the drawing order. The cut-out comes from an ISNet salient-object segmentation model that runs through onnxruntime-web on your own machine. The model weights are roughly 40MB and download once, after which the browser serves them from cache. There is no upload step, no account, no queue, and no per-image cost, which is why the page has no watermark or usage cap. After the model returns its mask, a second pass erodes the mask boundary by one pixel and unmixes leftover background colour out of the semi-transparent edge pixels. That step matters more here than in a plain background remover: the subject sits on top of your text, so an edge pixel still tinted with the old background colour would read as a coloured fringe drawn across the letters. The one-pixel erosion costs nothing in this composite because the pixel underneath is the identical pixel from the untouched photo on layer one. Images larger than 2560 pixels on their longest edge are scaled down to that size first, because the edge cleanup is a per-pixel pass with a neighbourhood probe and a 24 megapixel phone photo would stall the browser for many seconds. The export is always a PNG so that partial text opacity and the soft subject edges survive intact.

When you would want text behind a subject

The effect earns its keep whenever a title has to share space with a photo and you do not want either one to lose. A headline pasted flat over an image always looks pasted on. Letting the subject overlap the type instead creates a sense of depth that reads as deliberate design work rather than an afterthought, and it does it without needing a designer or a subscription. The most common use is a portrait poster or profile banner, where a name or a single word sits behind a person's shoulders and head. It is equally at home on product shots, where a brand name or a price runs behind the item so the item stays the hero. Social platforms are where the look spread: it works well on video thumbnails, on story and reel covers, and on channel art, because it survives being scaled down to a small tile better than a caption bar does. Podcast cover art, event flyers, gym and sports graphics, and album-style mockups all use the same trick. It is also a practical answer to a layout problem. When a photo has a busy background and no clean area to put text on, hiding part of the text behind the subject gives the eye an anchor and turns the clutter into something the composition uses. Because the whole thing runs locally, it is safe for photos you would not want to hand to a third-party service in the first place, such as pictures of children, clients, or unreleased products.

Give a poster or thumbnail real depth instead of a caption sitting flat on top of the photo
Keep a name or headline legible on a busy background by letting the subject anchor it
Work on private photos without uploading them, since the model runs on your own device
Iterate freely with a live preview, then export a clean PNG with no watermark or signup

How to put text behind an image

Four steps, and only the first one takes any real time. Everything after the cut-out redraws instantly, so you can experiment with wording and placement as much as you like before exporting.

1

Upload a photo with one clear foreground subject, such as a person, a pet, or a single product. Leave some visible space around the subject so the text has somewhere to sit.

2

Press Cut out subject. The first run downloads the segmentation model, which is about 40MB, and later runs skip straight to the inference.

3

Type your text, then set the font, weight, colour, size, rotation, spacing, and opacity. Drag directly on the preview to move the text, or use the position sliders for fine adjustments.

4

Press Compose and export PNG. The three layers are flattened into one image at full working resolution and the download appears below the preview.

Frequently Asked Questions

No. The segmentation model is downloaded to your browser and executed there through onnxruntime-web, and the three layers are composed on a canvas in the same page. Your photo never leaves the device, which is also why the first run pauses to fetch about 40MB of model weights instead of sending the image somewhere faster.
The first run has to download the ISNet model, roughly 40MB, before it can do anything. On a normal connection that is typically 10 to 30 seconds. The browser then caches the file, so every image after that skips straight to inference, which usually takes a few seconds depending on your hardware.
The model is trained to find one salient foreground object. After it runs, the tool measures how much of the frame the cut-out actually kept. Below one percent it treats the result as a failure and refuses, rather than handing you an image where the text simply sits flat on the whole photo and pretending it worked. Landscapes, crowds, flat lay shots, and screenshots have no single dominant subject and will usually fail this check.
If the cut-out keeps more than 97 percent of the frame, the subject layer would cover the text completely and the export would come out looking identical to the input. That is the other silent-failure case, so the tool stops and asks for a photo with visible space around the subject instead.
Salient-object segmentation produces a soft alpha mask, and fine strands, fur, motion blur, veils, and transparent objects like glass or water do not have a clean boundary to find. The tool erodes the mask by one pixel and unmixes residual background colour out of the partly transparent edge pixels, which removes most of the coloured fringe you would otherwise see over the letters, but it cannot invent detail the mask never captured. Subjects with crisp outlines give the best results.
Anything longer than 2560 pixels on its longest edge is scaled down to that limit before processing. The edge cleanup is a per-pixel pass that also probes each pixel's neighbours, so on a 24 megapixel photo it would freeze the tab for a long stretch and allocate several full-frame buffers. The preview tells you the original and working sizes whenever this happens. 2560 pixels is more than enough for thumbnails, social posts, and screen-sized posters.
Not currently. The font list is limited to faces that ship with common operating systems, because the export is drawn with the canvas text API and a webfont that has not finished loading would silently fall back to a different face, producing a downloaded PNG that does not match what you saw in the preview. If you need a specific typeface, export the composed PNG here and set the type in your own editor.
The text layer supports partial opacity and the subject cut-out has soft, partly transparent edges. JPEG would have to flatten both and would add compression artefacts exactly along the high-contrast boundary between the letters and the subject, which is the part of the image the whole effect depends on. PNG keeps that overlap clean.

更多图片工具

探索其他强大的图片编辑工具