Alt Text Generator
Alt Text Generator drafts alt text for one image or a batch with an AI captioning model running in your browser, so the images are never uploaded.
JPG, PNG, WebP, GIF, HEIC · one or many · never uploaded
The first use downloads the Florence-2 base AI model (207.5 MB, MIT licence). It is cached afterwards. Your images never leave this device.
At a glance
- Accepts
- PNG, JPG, WebP, GIF and other images your browser decodes
- Outputs
- One editable English description per image; copy each, all as HTML img tags, or as a CSV of file name and alt text
- Where it runs
- Entirely in your browser, on your device
- What leaves your device
- Nothing - the file never leaves your device
- Limits
- First use downloads a 208 MB AI model; drafts can be wrong or miss what matters and need review; gives only the gist of charts and text in images; no names of people
- Account
- Not required - there is no sign-up
- Price
- Free, with no watermark and no usage cap
- Made by
- Visrut
- Last updated
- 13 October 2026
Drop in one image or a whole folder's worth and get a short description of each, ready to edit and paste into an alt attribute. The descriptions come from Florence-2 base, an open AI image model (MIT licence, 207.5 MB) that runs inside your browser, so your images are never uploaded. It gives you a first draft in a few seconds per image - not a finished description. It doesn't know what your page is about, and it can get things wrong, so read each one before you publish it.
How to use it
- Drop, paste or choose one or more images.
- Wait for the model to download the first time; each image is then described in turn.
- Edit each description, or tick "Decorative image?" for images that add nothing to the text.
- Copy one at a time, copy them all as
<img>tags, or copy or download a CSV of file name and alt text.
Turning the draft into good alt text
From WebAIM's guide to alternative text (checked 13 October 2026):
- Say what the image means in this place, not everything in it. The same photo of a shoe needs different alt text on a product page and in a running blog.
- Keep it succinct: typically a few words, rarely a short sentence or two. WebAIM gives no character count; about 125 characters is a common rule of thumb, which is why the tool hints past it.
- Don't start with "image of" - screen readers already announce an image. The tool removes openers like that. Do say "photo" or "illustration" when the kind of image matters.
- Decorative images get
alt="", so screen readers skip them. So do images whose content is already in the text next to them. - A chart or diagram needs its point in the alt text and its detail elsewhere, such as a data table on the page.
What it got right and wrong in our tests
We ran this page on five test images in Chrome (on the processor, not the graphics chip). The drafts it wrote, word for word:
- Product photo of an athletic shoe: "A close up of a blue and white shoe." It missed the orange panel and the brand name.
- Black and white portrait of Albert Einstein: "An old man with white hair and a mustache." Correct, but it never names people or says it's an old photo.
- Bar chart: "A graph showing the monthly website visitors in 2026." It read the title but not the figures or the trend.
- Mountain lake: "A mountain with grass in the foreground." It missed the lake and the reflection.
- Meme with two lines of text over a landscape: "A mountain with the caption 'me on monday looking at my inbox'." It read the text, but not that it's a joke.
Good enough to start from, and a lot faster than a blank field, but every one of them needed a human edit to say what mattered. To pull all the text out of a screenshot or meme, use Image to Text.
Frequently asked questions
Are my images uploaded?
No. The AI model is downloaded to your browser and runs there, on your graphics chip with WebGPU or on the processor otherwise. Your images and the text it writes stay in this tab.
Can I use the alt text as it is?
Treat it as a draft. The model sees the picture but not your page, so it can't know which detail matters (the product's colour, the person's name, the point a chart makes). It can also simply be wrong. Read each one and edit it before publishing - especially charts, screenshots and images with text.
How long should alt text be?
WebAIM's guidance (checked 13 October 2026) gives no character count: it says alt text should be succinct, typically a few words, and rarely a short sentence or two. Many style guides use about 125 characters as a rule of thumb, so the tool shows a hint past that - it is a nudge, not a rule.
When should an image have empty alt text?
When it is decorative - a divider, a background flourish, or a picture whose content is already said in the text next to it. Use alt="" (not a missing alt attribute), so screen readers skip it. Tick "Decorative image?" and the copied HTML and CSV use alt="" for that image.
Can I give it context, like the page the image is for?
No. Florence-2 base takes a fixed task, not a free-text prompt, so a context box would do nothing. We also tried a small model that does take a prompt (SmolVLM-256M): told the page was about running shoes, it described a meme as "a product page for running shoes". Add the context yourself when you edit the draft.
What about charts and images with text?
It names what the image is ("A graph showing the monthly website visitors in 2026") and may quote a line of large text, but it won't give you the numbers or every word. For a chart, say the point it makes in the alt text and put the data in a table or the text nearby. To read the words in an image, use Image to Text.
Which AI model does it use?
Florence-2 base (fine-tuned), an image model published by Microsoft under the MIT licence, in a 4-bit ONNX version. It downloads once (207.5 MB) and your browser caches it. It writes captions in English only.
Why is the first image slow?
The first image waits for the 207.5 MB model to download and start. After that, each image takes a few seconds on a recent computer; phones are slower. Images are described one after another, so a batch shows each result as it finishes.