Short answer: attach an image in the Bluesky composer, tap the ALT button on its thumbnail, describe what the image shows, and post. Each image gets its own description of up to 2,000 characters, and videos have an ALT option too.

Below: the exact steps, how video captions work, the setting that stops you posting without alt text, and how to write descriptions that are actually useful.

On this page:

The Direct Answer

Question Answer
Where is alt text in the composer? The ALT button on each attached image
How long can alt text be? 2,000 characters per image (as of October 2026)
Does each image need its own? Yes – up to 10 images per post, one description each
Can videos have alt text? Yes – plus a WebVTT caption file on the web
Can Bluesky force me to add it? Yes – turn on the require-alt-text setting
Can I edit it after posting? No – delete and repost to fix it

How Do You Add Alt Text to an Image on Bluesky?

The steps are the same in the iPhone and Android apps and on bsky.app:

  1. Open the composer. Tap the new post button in the Bluesky app or on bsky.app.
  2. Attach your image. Tap the image icon and pick up to 10 photos. Each one appears as a thumbnail under your text.
  3. Tap ALT on the thumbnail. Each thumbnail has an ALT button. Tap it to open the description editor for that image.
  4. Describe the image. Write what the image shows and why it matters to the post. You have up to 2,000 characters.
  5. Save and repeat. Save the description, then do the same for every other image in the post.
  6. Post. Publish the post. Images with descriptions show an ALT badge that anyone can tap to read them.

Before you post, open each thumbnail's ALT editor or glance along the row to check every image has a description. That matters more now that a post can carry up to 10 photos (raised from 4 in June 2026) – it is easy to describe the first three and forget the rest.

Under the hood, alt text is stored in the post record itself, next to the image blob, in the alt field of the app.bsky.embed.images embed. That is why every Bluesky app shows it, not just the one you posted from, and why you can set it from code when posting to Bluesky with Python.

Why 2,000 characters?

The post itself is limited to 300 characters, but descriptions often need more room: a screenshot of a long thread, a chart, a menu, a sign. As of October 2026 Bluesky gives each image 2,000 characters, so you can transcribe the text in a screenshot instead of summarizing it. You do not have to use it all; most good descriptions are one to three sentences. See our full list of Bluesky limits for the other numbers.

Can You Add Alt Text and Captions to a Bluesky Video?

Yes, and they are two different things:

  • Alt text describes the video for people who cannot see it. Attach the video and use the same ALT option you use for images. Describe what happens, not just what the first frame looks like.
  • Captions are the spoken words, timed to the video, for people who cannot hear it. On bsky.app, the video's alt text editor also lets you upload a subtitle file in WebVTT (.vtt) format. Viewers can then turn captions on in the player.

Bluesky does not generate captions for you, so if the video has speech, make a .vtt file first. Most video editors can export one, and a .vtt file is plain text you can write by hand for a short clip:

WEBVTT

00:00:00.000 --> 00:00:03.500
Welcome to the new Skyscraper widgets.

00:00:03.500 --> 00:00:07.000
Long-press the Home Screen to add one.

Videos can now run up to 10 minutes (since August 2026), which makes captions more important, not less: nobody watches ten minutes of muted talking-head video without them.

Can You Add Alt Text to a GIF on Bluesky?

Yes. When you pick a GIF from the composer's GIF picker, it gets an ALT option like an image. GIFs are usually reactions, so the useful description is the reaction, not the scene: "Kermit sipping tea, unbothered" tells a screen reader user what you meant; "A green puppet holding a cup" does not.

If you skip it, the GIF's title from the picker is often all a screen reader has to go on, and those titles are frequently just search keywords.

How Do You Make Bluesky Require Alt Text?

If you want a safety net, Bluesky can refuse to post an image without a description:

  1. Open Settings.
  2. Go to Accessibility.
  3. Turn on the option to require alt text before posting.

With it on, the post button stays blocked until every image has a description. The same section has an option for larger ALT badges, which makes it easier to spot which images in your feed have descriptions you can read. The setting is per app and device, so turn it on in each app you post from.

How Do You Write Good Alt Text?

Good alt text answers one question: what would someone miss if they could not see this image?

  • Lead with the point. "Bar chart: Bluesky video uploads tripled after the 10-minute limit" beats "A chart with blue bars."
  • Transcribe text in screenshots. If the image is words, the alt text should be those words. This is the single most common gap on Bluesky.
  • Skip "image of" and "picture of". Screen readers already announce that it is an image.
  • Include what the post depends on. If the joke is the cat's expression, describe the expression. If it is the price on the sign, give the price.
  • Leave out what does not matter. The color of the wall behind someone is rarely the point.
  • Do not put new information only in the alt text. Sighted readers mostly never open it.

Examples

Weak Better
Screenshot Screenshot of an error dialog: "Rate limit exceeded. Please try again later."
My dog A black lab wearing a cone, glaring at the camera from inside a laundry basket.
Chart Line chart of my weekly running distance this year: steady around 20 km, then a drop to zero in July after an injury.

That first example is a real one: people screenshot the "Rate limit exceeded" error constantly, and the screenshot is useless to a screen reader unless the message is typed out.

If the image is a screenshot of a Bluesky post, consider linking or quoting the post instead. A quote post is accessible by default and keeps the original author's context. Our guide to Bluesky rich text and facets explains how links and mentions are stored.

How Do You Fix Alt Text After Posting?

You cannot edit it. As of October 2026 Bluesky has no edit feature for posts, and alt text is part of the post record (see can you edit a Bluesky post?). Your options:

  • Delete and repost with the corrected description. Likes, reposts and replies on the original are lost, so do this quickly.
  • Reply to yourself with the description, for a post that has already taken off. Not as good as real alt text, but it helps.
  • Save a draft first next time. Bluesky added drafts in February 2026, so for an image-heavy post you can write it, come back, and check every ALT before posting.

If you repost the same images a lot, keep your descriptions in a notes file so you can paste them. And if accessibility matters to your community, a labeler or content filter setup can't add descriptions for you, but your own posts can model the habit.

Frequently Asked Questions

How do you add alt text on Bluesky?

Attach an image in the post composer, then tap the ALT button on the image thumbnail. Type a description of what the image shows, save it, and post. Each image in a post gets its own alt text.

What is the alt text character limit on Bluesky?

As of October 2026, Bluesky allows up to 2,000 characters of alt text per image. That is far more than the 300 characters allowed in the post itself, so there is room to transcribe a screenshot or describe a chart.

Can you add alt text to a video on Bluesky?

Yes. When you attach a video, the same ALT option lets you write a description of the video. On the web you can also upload a subtitle file in WebVTT format so viewers can turn on captions.

Can Bluesky require alt text before I post?

Yes. Turn on the require alt text option in Bluesky's accessibility settings and the app will not let you publish a post with an image that has no description.

Can you edit alt text after posting on Bluesky?

No. Bluesky has no edit feature, and alt text is part of the post. To fix it you have to delete the post and post it again with the corrected description, which resets its likes and reposts.

How do you read alt text on someone else's Bluesky post?

Images with a description show an ALT badge. Tap the badge, or open the image full screen, to read the description.

Alt Text in Skyscraper

Skyscraper treats alt text as part of composing, not an afterthought:

  • Alt text on every attachment – up to 10 photos, each with its own description
  • Alt text from the share sheet – add a description to images you share into Skyscraper from Photos or any other app
  • Apple Intelligence descriptions – have Apple Intelligence draft alt text in your post's language, then edit it before posting
  • On-device OCR – pull the text out of a screenshot, which is most of the work of describing one

Download Skyscraper →

Related Reading