Bluesky character limit, images, video and alt text
A Bluesky post holds 300 characters, and no more than 3,000 bytes. It can carry up to 4 images in a regular post, or 5 to 10 as a gallery, which Bluesky added in June 2026. A video can run 10 minutes and be up to 300 MB, and the account needs a confirmed email to post one. Here is every Bluesky limit, from the post format Bluesky publishes and its app's source code.
Every number checked against its source on Nov 12, 2026.
Bluesky limits at a glance
| Limit | Bluesky allows | In PostDaily | Source |
|---|---|---|---|
| Post length | 300 characters (counted as visible characters, so an emoji is 1), and no more than 3,000 bytes | 300 characters and 3,000 bytes, counted the same way | Bluesky post format (app.bsky.feed.post) |
| Links | Bluesky's app shortens a long link to its site and the first 13 characters of the path, and counts only that | Links are posted and counted in full, so a long link uses more of the 300 | Bluesky app source: how links are shortened |
| Images per post | 4 in a regular image post; Bluesky's app posts 5 to 10 as a gallery since 4 June 2026 | Up to 10 (5 or more go up as a gallery), within your plan's media per post (4 on Free, 6 on Starter, 8 on Pro and 12 on Agency) | Bluesky gallery embed (app.bsky.embed.gallery) |
| Image file | Up to 2 MB (2,000,000 bytes) each; Bluesky's app resizes photos to 4,000 pixels on the long side | Up to 2 MB; larger photos are compressed to fit, and resized to 4,000 pixels on the long side | Bluesky image embed (app.bsky.embed.images) |
| Alt text | No limit in the post format; Bluesky's app allows 2,000 characters | 1,000 characters | Bluesky app source: limits it applies |
| Video length | Up to 10 minutes, for every account since 25 August 2026 | 10 minutes, checked before publishing | @bsky.app: videos up to 10 minutes (25 August 2026) |
| Video file | One video per post, never with images, up to 300 MB (300,000,000 bytes) | One video, up to 300 MB, within your plan's per-file cap (25 MB on Free, 50 MB on Starter, 100 MB on Pro and 250 MB on Agency) | Bluesky video embed (app.bsky.embed.video) |
| Video format | MP4, MOV, WebM or MPEG; Bluesky's video service converts them to MP4 | MP4, MOV or WebM (the media library doesn't store MPEG) | Bluesky blog: video on Bluesky (11 September 2024) |
| Video uploads | Need a confirmed email address, and each account has a daily limit (25 videos or 10 GB a day at launch; the current docs give no number) | Checks the email before publishing; the daily limit is not checked | Bluesky developer docs: uploading video |
| Link card | One card per post, with a title, description and a thumbnail of up to 1 MB | A card for the first link, when the post has no images or video | Bluesky link card embed (app.bsky.embed.external) |
| Hashtags | Each tag up to 64 characters | Longer ones stay plain text, as Bluesky's own code does | Bluesky rich text facets (app.bsky.richtext.facet) |
| Languages | Up to 3 per post | Up to 3 | Bluesky post format (app.bsky.feed.post) |
| Threads | No limit on how many replies a thread has | A chain of up to 25 posts, each a reply to the one before | Bluesky post format (app.bsky.feed.post) |
| Posting rate | 5,000 points an hour and 35,000 a day per account; a new post costs 3, so about 1,666 posts an hour | — | Bluesky developer docs: rate limits |
300 characters, counted the way people see them
Bluesky counts what you see, not code units: an emoji, a flag or an accented letter is 1 character. The post format also caps the text at 3,000 bytes, which only matters for text that is mostly emoji or non-Latin script. PostDaily counts both the same way, so its counter stops where Bluesky does.
Links are the one difference. Bluesky's app shortens a long link before counting it: it keeps the site and the first 13 characters of the path, then adds an ellipsis. PostDaily posts and counts the full address, so a post with long links has less room than it would in the app. A short link, or the link card, avoids it.
4 images, or 10 in a gallery
Bluesky's regular image post holds 4 images. On 4 June 2026 its app started posting 5 to 10 images as a gallery, a new post type whose format allows 20 but asks apps to stop at 10. Every gallery image needs alt text and its dimensions.
PostDaily does the same: 1 to 4 images go up as a regular image post, and 5 to 10 as a gallery, with each image's dimensions read from the file. How many fit in one post also depends on your plan. Each image can be up to 2 MB; PostDaily compresses a larger photo to fit and resizes it to 4,000 pixels on the long side, as Bluesky's app does.
Video: 10 minutes, 300 MB, and a confirmed email
Since 25 August 2026, every Bluesky account can post videos of up to 10 minutes, and a video file can be up to 300 MB (it was 100 MB). A post has one video, and it can't be mixed with images.
Bluesky only takes video from accounts with a confirmed email address, and its error doesn't say so. PostDaily reads the email status from Bluesky and stops the post before the upload, with the steps to fix it (Bluesky video not uploading). Uploads are also capped per file by plan: 25 MB on Free, 50 MB on Starter, 100 MB on Pro and 250 MB on Agency.
Bluesky's video service takes MP4, MOV, WebM and MPEG and converts them. PostDaily sends MP4, MOV and WebM as they are. Bluesky also limits how many videos one account can upload a day; at launch in 2024 that was 25 videos or 10 GB, and the current docs give no figure.
Where Bluesky's own docs disagree
Bluesky's developer guide to posts says 2,000,000 bytes per image in its code sample and 1,000,000 in the text, and still says a post holds up to four images. The post format itself says 2 MB ("formerly limited to 1 MB"), and the app posts galleries of 10. This page follows the post format and the app's source, which is what Bluesky's servers check.
What PostDaily checks, and what it doesn't
Before a post is scheduled, PostDaily checks the length in characters and bytes, the number of images, image and video size, video length, and whether the account can post video. Each post in a chain is checked on its own. It doesn't offer quote posts or video captions yet. Schedule Bluesky posts and threads, or read how to write a Bluesky thread.
Common questions
- What is the Bluesky character limit?
- 300 characters per post, counted as visible characters, and no more than 3,000 bytes.
- How many images can you post on Bluesky?
- Up to 10. 1 to 4 images make a regular image post, and 5 to 10 a gallery, which Bluesky added on 4 June 2026.
- How long can a Bluesky video be?
- Up to 10 minutes and 300 MB, one video per post. The account needs a confirmed email address.
- What is the maximum image size on Bluesky?
- 2 MB per image. Bluesky's app resizes photos to 4,000 pixels on the long side.
- Does Bluesky have an alt text limit?
- Not in the post format. Bluesky's app allows 2,000 characters of alt text per image or video.
Sources
- Bluesky post format (app.bsky.feed.post)
- Bluesky app source: how links are shortened
- Bluesky gallery embed (app.bsky.embed.gallery)
- Bluesky image embed (app.bsky.embed.images)
- Bluesky app source: limits it applies
- @bsky.app: videos up to 10 minutes (25 August 2026)
- Bluesky video embed (app.bsky.embed.video)
- Bluesky blog: video on Bluesky (11 September 2024)
- Bluesky developer docs: uploading video
- Bluesky link card embed (app.bsky.embed.external)
- Bluesky rich text facets (app.bsky.richtext.facet)
- Bluesky developer docs: rate limits