How-to guide

How to Schedule Posts to a Specific Mastodon Instance

Last updated: 2026-05-23 · Mastodon · By SocialKit Team

Unlike centralised networks, Mastodon has no single server — your account lives on a specific instance, and every third-party scheduler must connect to that instance individually. This guide walks the exact SocialKit flow: authorize your home server, handle its character limit and visibility settings, schedule ahead with best-time data, and manage multiple instances from one calendar.

Before you start

You need a SocialKit account — the 7-day free trial (€0.00 due today) is enough to connect your first Mastodon instance and schedule your first post.

You also need your Mastodon account credentials and your instance's exact domain name (for example, mastodon.social, fosstodon.org, infosec.exchange, or any other server). The domain is visible in your account handle: the part after the @ is your instance URL. Write it down before you begin — SocialKit's OAuth flow requires you to enter it to route the authorization to the correct server.

Note: a small number of Mastodon instance administrators configure their servers to block or rate-limit third-party application tokens. If you encounter an error after authorizing, contact your instance admin to confirm that API posting is permitted for your account tier. This is uncommon on general-purpose instances but worth checking on specialist or invite-only servers.

Step by step

  1. Find your exact Mastodon instance domain

    Your Mastodon handle has the format @username@instance.domain — the second part, after the final @, is the server you need. Log into the Mastodon web interface for that server and confirm the URL in your browser address bar: it is the base domain with no path (e.g. fosstodon.org, not fosstodon.org/@yourname). Copy this exactly — one wrong character causes the OAuth redirect to fail.

    Tip: If you have accounts on more than one Mastodon instance, handle them one at a time. Note each domain before you start connecting to avoid mix-ups in the authorization steps.

  2. Connect your Mastodon account in SocialKit

    In SocialKit, open your workspace settings and go to the accounts or connections area. Choose Mastodon from the platform list. SocialKit will prompt you to enter your instance domain — paste the domain you copied in the previous step. After you confirm, SocialKit redirects you to that instance's OAuth consent screen (hosted on your server, not on SocialKit's domain), where you authorize SocialKit to read and write posts on your behalf. Approve the requested scopes and you are returned to SocialKit with the account connected. As of June 2026, SocialKit uses the standard Mastodon OAuth 2.0 app-authorization flow; your password is never sent to or stored by SocialKit.

    Tip: Already logged into the wrong Mastodon account in your browser? Open a private/incognito window first so the authorization page shows the correct account when it loads.

  3. Confirm your instance's character limit before composing

    Mastodon's default character limit is 500 per post, but instance administrators can raise (or theoretically lower) this value. As of June 2026, some instances allow 1,000, 5,000, or more characters per post. Before writing long-form content, check your instance's actual limit: it is usually stated in the instance's "About" page, or you can find it by looking at the character counter inside the native Mastodon web composer. SocialKit's composer will reflect the limit of the connected instance — watch the live character count as you type.

    Tip: If you plan to cross-post the same text to Bluesky (300 graphemes) or X (280 characters standard), draft to the most restrictive limit and then expand the Mastodon-specific version. SocialKit's per-platform customization lets you tailor the same post per destination without rewriting from scratch.

  4. Write your post and set visibility and content warning

    In the SocialKit composer, write your post text and add any images, video, or links you want to include. As of June 2026, Mastodon supports four visibility levels: Public (appears in the public timeline and federated feed), Unlisted (visible to anyone with the link but not in public timelines), Followers-only (visible to your followers only), and Direct (a private message to mentioned accounts). Select the appropriate visibility in the composer settings. If your content is sensitive, behind a spoiler, or relates to topics your instance community typically marks — such as politics, media discussion, or personal health — you can add a Content Warning (CW) label. The CW becomes a tap-to-reveal header in feeds; the body of the post is hidden until the reader expands it. This is a strong cultural norm on many Mastodon instances, not merely a technical option.

    Tip: Mastodon does not have an algorithmic feed — posts surface in reverse-chronological order. This means timing matters more than on algorithm-ranked platforms: a post published when your audience is online gets seen; one published at 3 a.m. their time is quickly buried.

  5. Add alt text to images

    Mastodon's community has a strong norm around image accessibility: posts with images and no alt text are sometimes boosted (retweeted) less willingly by other users, and some instances have alt-text requirements. In the SocialKit composer, click each uploaded image to add a description — a sentence or two describing what the image shows is sufficient. Alt text is stored in the media attachment metadata and is read by screen readers when the post reaches other instances. As of June 2026, alt text is supported via the Mastodon API and published with the image.

  6. Pick a posting time using best-time data

    Choose a specific date and time in the SocialKit scheduler, or let SocialKit's best-time feature suggest an optimal window based on your audience's activity. Because Mastodon is reverse-chronological, posting when your followers are active is the most reliable reach lever. As of June 2026, general research suggests weekday late mornings and early evenings in your audience's timezone perform consistently, but your own analytics will be more accurate than industry averages — check the /best-time-to-post/mastodon page for starting points, then review your SocialKit analytics after a few weeks.

    Tip: If your followers are spread across very different timezones, consider posting the same piece of content twice — at 9 a.m. one timezone and again at an evening slot for the other — with slightly varied copy to avoid the exact duplicate appearing twice in the same follower's feed.

  7. Schedule and confirm the post

    Review the post in the SocialKit preview — check the character count, visibility setting, content warning if applicable, and alt text on any images. Set the date and time, then click Schedule. As of June 2026, SocialKit auto-publishes Mastodon posts at the scheduled time via the Mastodon API — no notification or manual step is required on your end. You will see the post in your SocialKit calendar and can edit or reschedule it by clicking it there before the publish time.

    Tip: Schedule a low-stakes test post a few minutes out after first connecting your account, to confirm the end-to-end flow works for your specific instance before scheduling a week of content.

  8. Add and manage additional Mastodon instances

    If you have accounts on multiple Mastodon servers — for example, a personal account on mastodon.social and a professional account on a niche instance — repeat the connection flow for each instance using its specific domain. SocialKit lets you manage all connected instances from the same dashboard and calendar. You can schedule to one, several, or all of them in a single composer session by selecting which accounts each post targets. Each instance gets its own character count, visibility options, and posting history in your SocialKit workspace.

Best practices

  • Enter your exact instance domain with no trailing slash or sub-path when connecting — a mis-typed domain causes the OAuth redirect to fail with a confusing error that looks like a SocialKit problem but is actually a routing mismatch.
  • Check your instance's character limit before drafting long posts: the 500-character default is common but many instances extend it, and writing to the wrong ceiling means last-second edits at schedule time.
  • Always add alt text to images before scheduling — it is a strong community norm across most Mastodon instances and improves accessibility for screen-reader users who encounter your post through federation.
  • Use content warnings (CW) for posts covering topics that your instance community typically marks — political commentary, media spoilers, and sensitive personal topics are common CW conventions; not using them can generate negative engagement from otherwise receptive audiences.
  • Mastodon's chronological feed means publish timing matters more than on algorithm-ranked platforms — use the /best-time-to-post/mastodon data as a starting point and refine based on your own SocialKit analytics after 2–3 weeks.
  • After any Mastodon account password change or instance security event, re-authorize your SocialKit connection: OAuth tokens are tied to the original grant and may be invalidated by server-side security resets.

Good to know

How Mastodon's federated model affects scheduling

Most social platforms run on a single server, so "connecting your account" means one OAuth handshake with one domain. Mastodon is different: every instance is an independently operated server, and your SocialKit connection must target the specific server your account lives on.

This is why the instance domain entry step matters: SocialKit uses the domain to construct the OAuth authorization URL for that server. If you enter mastodon.social but your account is on fosstodon.org, the authorization request goes to the wrong server and nothing connects.

Once you are connected, federation works in your favor for scheduling purposes: a post published to your instance propagates automatically to the federated timelines of other instances, so a well-timed post reaches readers across the fediverse without any extra configuration on your part.

Character limits vary by instance — do not assume 500

The Mastodon software ships with a 500-character default, but instance administrators can change this value at the server level. As of June 2026, mastodon.social uses 500 characters; fosstodon.org, infosec.exchange, and many others also use 500; however, some instances — particularly those running Hometown or other Mastodon forks — allow significantly higher limits.

SocialKit's composer reads the character limit from your connected instance's API metadata and reflects it in the live character counter, so the number you see in the composer is specific to your account's home server, not a generic 500. If you cross-post the same post to Bluesky or X alongside Mastodon, remember those platforms have stricter limits (Bluesky: 300 graphemes; X: 280 characters standard as of June 2026) — SocialKit's per-platform customization lets you adjust each version separately.

Do it in SocialKit

SocialKit connects to any Mastodon instance, respects per-server character limits, and auto-publishes at the time you schedule — no manual step required. Manage multiple instances alongside your other 11 social platforms from one calendar. 7-day free trial, €0.00 due today.

Schedule Mastodon posts with SocialKit
Free tool
Free Mastodon character counter

No login needed.

All 11 platforms included

Try it free

Schedule and cross-post to all 11 networks from one calendar on one flat plan. 7-day free trial — €0.00 due today.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

FAQ

Frequently asked questions

The questions people ask before they schedule — answered honestly, hedged where platform behavior changes.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee