Image Captioner
Generate a descriptive caption and ready-to-use alt text for any image with an on-device AI model. Great for accessibility and SEO. Free, private, no upload. Runs on your device — nothing is uploaded, nothing is stored.
Drop an image here
PNG, JPG, WebP, GIF or BMP. Processed locally.
Runs a small image-to-text AI model entirely in your browser. The model downloads once from a CDN on first use, then generates captions on-device — your image is never uploaded.
This image captioner looks at a picture and writes a short description of it, then wraps that description in a ready-to-paste alt attribute. Drop in an image, press Generate caption, and you get two boxes to copy from: the plain caption and the alt text as an HTML snippet.
The model is vit-gpt2-image-captioning, run in your browser through Transformers.js and ONNX Runtime, on WebGPU where available and WebAssembly otherwise. It accepts PNG, JPG, WebP, GIF and BMP files up to 15 MB.
The caption is a starting point, not a finished description. Read it against the image and edit it to fit the context the picture appears in.
Why this runs on your device
Images you want alt text for are often unpublished: a draft page, a client mock-up, a screenshot with something confidential in it. The picture is read only by this tab and is not uploaded. What you pay for that is the model download on first use, which is large: roughly 246 MB on the WebAssembly path and about 958 MB when WebGPU is used. A progress bar shows it, and the browser keeps the model afterwards.
- Drop a PNG, JPG, WebP, GIF or BMP image onto the page or click to choose one.
- Press Generate caption. On the first run, wait for the model to download.
- Copy the caption, or copy the alt text snippet for your img tag.
- Review the wording against the image and edit it to match its context.
- The first run is a big download, about 246 MB on WebAssembly and about 958 MB on WebGPU. On mobile data or a slow link, think twice before starting it.
- Captions are short and general. The model describes what it sees in a sentence and will miss text in the image, names, brands and details that matter to your page; it can also describe something wrongly.
- The alt snippet is just the caption placed inside alt quotes. It does not know the purpose of the image on your page, so review it and rewrite it where context matters.
- Files over 15 MB are rejected, and the page captions one image at a time.