Runs on your device · WebGPU
Captions matched to your photo
Add the photo you’re about to post, or pick a topic, and get ready-to-copy captions for it. The tool matches your photo to topics such as Beach, Birthday or Coffee, then shows lines from our caption pages for those topics. It doesn’t describe the photo, and nothing is uploaded.
Downloads once: CLIP ViT-B/32 image model (OpenAI, MIT licence), 4-bit: about 64 MB, only for the photo option
How it works
1Add a photo, or pick a topic
The photo route downloads an image model once. The topic route needs nothing: type a word or browse all 153 topics, from Birthday to Real estate.
2The photo is compared with topics
The model scores your photo against a one-line description of each of 134 topics a camera can see, such as “a sandy beach with waves”, and switches on the closest few.
3Switch topics on and off
Tap a topic to add or drop it. A dog on a beach can use Dog and Beach together. Moods such as Funny or Savage can’t be seen in a photo, so you add those yourself.
4Copy a caption and make it yours
Tap any caption to copy it. Narrow to one kind of caption, keep to short ones, or shuffle. Then add the name, place or detail only you know.
What the tool does, and what it doesn’t
It matches your photo to a topic. It does not describe the photo. An image model called CLIP scores how well a picture and a short line of text fit together, and the tool uses that to compare your photo with a one-line description of every topic we have captions for. It has no idea whose birthday it is or which beach you’re on.
- It can’t read text in the photo, such as a poster, a menu or a screenshot.
- It can’t tell who is in the picture or what the occasion is, unless the photo shows it plainly, like a cake with candles.
- It only knows the topics we have captions for. If yours isn’t one of them, search for the nearest.
- The captions aren’t written for your photo. They are lines from our caption pages, so everyone who picks the same topic sees the same ones.
What it matched in our tests
We ran the tool on a handful of photos in October 2026. This is what it switched on. WebGPU and the slower WebAssembly fallback gave the same result.
| Photo | Topics switched on |
|---|---|
| A hand holding a frosted serum bottle in a bathroom, a phone in the other hand | Mirror selfie, Product launch (Salon and beauty came third) |
| A person in a leather jacket on a street, shown in a phone-shaped frame on a dark card | Outfit of the day, Mirror selfie |
| A woman on a folding chair in sand dunes, the sun low behind her | Deserts, Photoshoot, Travel |
| A family on a sofa with a baby | Dad, Father’s Day (Family came third) |
| A cartoon avatar | None: no strong match, so it asks you to choose |
| A plain white square | None |
The misses are as useful as the hits. The serum photo has a phone in it, and Mirror selfie came first, when the topic you’d want is Product launch, one tap away. In our tests, photos with a person in them often brought up Outfit of the day, Mirror selfie or Selfie. Treat the topics as a first guess you can change.
Switching topics, and making a caption yours
Photos are often two things at once: a dog on a beach, friends at a birthday dinner. Switch on two or three topics and the captions take turns between them, best match first, so the list isn’t all from one page. “Kind of caption” narrows it to one situation, such as “Dogs at the beach” in the Beach topic.
Nineteen of the 153 topics are about a mood, a style of post or a relationship rather than something you can see: Funny, Savage, Cute, Girlfriend, Photo dump and so on. The model leaves those out of the matching. Open “Switch or add a topic”, choose Moods and styles, and add one to tilt the list towards that tone.
- Pick the caption closest to what you want to say, even if it isn’t perfect.
- Change one detail so it is true of your post: the name, the place, the number.
- Read it aloud once. If it sounds like something you’d say, post it.
Most of the captions are one or two short sentences, so there is room to add a place, a name or a second line. Meta’s reference for publishing Instagram posts through its API lists a maximum of 2,200 characters for a caption (we read it in October 2026). Our caption length guide covers what Meta does and doesn’t document.
What stays on your device
Your photo is read in your browser and never uploaded. The first photo needs two downloads: the CLIP image model, about 64 MB from Hugging Face, and about 4 MB of code to run it, from jsDelivr. Your browser keeps them, so the next photo starts at once. The text half of CLIP was run ahead of time and its results ship with this page, so there is no second model to download.
After the downloads, a photo took about a second on a laptop, with WebGPU or without. Phones and older laptops will be slower. Picking a topic by words or by browsing needs no model at all.
Questions people ask
Does it describe my photo?
No. It compares your photo with a fixed list of topics and shows captions for the closest ones. It won’t say what is in the picture, and it can’t read text in it.
Is my photo uploaded anywhere?
No. The image model runs in your browser and the photo is compared there. Nothing is sent to DMFast or anyone else, and closing the tab clears it.
Does it write new captions with AI?
No. Every caption is a line from one of our caption pages, such as the Birthday or Beach page. The model only decides which topics to show, which is why this works without a server.
Why does it say nothing matches my photo?
When even the best topic is a weak match, as with a screenshot, a text card, an illustration or a blank picture, the tool switches no topic on rather than guess. Tap the closest ones, or search for a topic.
Which topics can a photo be matched to?
134 of the 153: the ones a camera can see, such as places, food, pets, holidays and hobbies. Moods such as Funny and Savage, and Girlfriend, Boyfriend and Photo dump, you add by hand.
More free tools
- Hashtag generatorFive specific hashtags for a post, picked from your photo or a few words.
- Alt text generatorA short alt text and a longer description for each photo, written on your device.
- Character counterCount caption, bio, DM and Facebook ad text against limits that say where they come from.
- Bio generatorFourteen short bios from your name, work and audience, in five tones, with an optional call to action.
- Line break generatorKeep blank lines in a caption or bio with an invisible spacer, and tidy stray spaces.
- Post previewMock up a feed post with a carousel, your caption and the “more” cut-off, then save it as a PNG.
Related guides
Answer every comment and DM, automatically
When someone comments a word like GUIDE, DMFast replies and sends them your link in a DM. Free plan, no card.
Start free