How to schedule Bluesky posts (300 characters, 4 images, video)

    Bluesky has no built-in scheduler. What the AT Protocol lets a tool do, the limits it enforces, how app passwords work and how to queue posts and threads to Bluesky.

    Updated · Prices and limits checked against the vendors' own pages and APIs on that date.

    Bluesky has no scheduler of its own. The app posts now or not at all, so anyone who wants a post to go out at nine tomorrow needs a tool, and the tool talks to the AT Protocol, which is open and documented and has a few rules that surprise people coming from X.

    How a tool connects: app passwords

    A scheduler never gets your Bluesky password. In Settings, Privacy and Security, App Passwords, you create a password just for the tool, name it, and paste it once. It can be revoked on its own without touching your login, and it cannot change your account's password or email. Preflight connects this way; so do Buffer and Postiz. Bluesky also supports OAuth now, and tools are moving to it, but app passwords remain the common path in 2026.

    A custom domain handle (you.example.com) works the same as a .bsky.social one.

    What a post can hold

    Limit
    Text300 graphemes (what you see as characters), and 3,000 bytes
    Pictures4 per post, up to 2 MB each after Bluesky's own resizing, alt text on each
    Video1 per post, MP4, up to 100 MB and 3 minutes, no pictures in the same post
    LinksDetected and made clickable by "facets"; a link counts its full length against the 300
    Mentions and hashtagsAlso facets; a tool that skips them posts plain text that nobody can tap
    ThreadsA chain of replies, each under the same limits
    EditingNot possible; delete and post again
    PollsNot in the protocol

    The 300 is counted in graphemes, so a flag emoji is one, not two or four. A long caption that fits X at 280 fits Bluesky too; a caption that fits Threads at 500 does not.

    The facets rule is the one that separates tools: the protocol does not detect links, mentions or hashtags itself. The tool has to mark them with byte offsets, and a tool that marks only URLs posts hashtags and @mentions as dead text. Preflight marks all three.

    Scheduling it

    In Preflight, a Bluesky account is one channel. Write the post once, tick Bluesky among the targets, and the composer counts 300 graphemes for Bluesky while counting 500 bytes for Threads and 2,200 characters for Instagram beside it. Pictures beyond four, or a video alongside pictures, are flagged before publishing rather than silently dropped. Threads are written in the same composer, one part per box, each part checked.

    The post goes to the queue (next free slot for that channel) or to a fixed time. After publishing, Preflight reads likes, replies and reposts back and shows them with the post; Bluesky reports no views.

    Comments and metrics

    Replies to a post are readable and answerable from the comments inbox. Bluesky lets only the author delete a reply, so there is no "delete someone else's comment", and no "hide". Figures available through the API: likes, replies, reposts, and the account's follower count once a day.

    What no tool can do on Bluesky

    • Edit a published post. The protocol has no edit; every tool deletes and re-posts.
    • Polls. Not in the protocol.
    • Schedule inside Bluesky. There is no draft or scheduled state on the server, so the tool must be online at the moment.

    Which schedulers support Bluesky

    Buffer, Preflight, Postiz, PostFast, Publer, Metricool, Vista Social, Typefully, SocialBee, Hootsuite (single posts) and Blotato all post to Bluesky in 2026. Later does not. The ones that mark hashtags and mentions as facets, support threads and handle the 3,000-byte limit are fewer; test with a post containing an emoji, a hashtag and a mention before trusting one.

    Questions people ask

    Can you schedule posts on Bluesky natively?
    No. The Bluesky app and website have no scheduling; the AT Protocol has no scheduled state. You need a third-party tool that posts at the time.
    What is the Bluesky character limit?
    300 graphemes per post, and separately 3,000 bytes. A link counts its full length. Emoji count as one each.
    Is giving a scheduler an app password safe?
    An app password is scoped to posting and reading as you; it cannot change your login, email or other app passwords, and you can revoke it alone. Never paste your main password into a tool.

    Write it once. Let the rules be our problem.

    Preflight checks every post against each network's rules before it leaves, then publishes it to twelve networks. Free plan, no card.