# Schedule posts from your menu bar

Mac app

Agents & CLI
Cloud app
# Schedule posts from your menu bar

A native Mac app with your queue, a composer and a calendar for X, Bluesky, Mastodon and LinkedIn. Free on your Mac, always on with Statuz Cloud.
[

Download for Mac](/download?from=home-hero#mac)[

Take the tour](#mac-tour)

⌃⌘C: new post from any app

Up nextTomorrow 9:00

One composer, four places

Missed its time: publish now?

- 
1
### Your queue in the menu bar

What goes out next and what needs you, one click away. Start or stop publishing from there.

- 
2
### Write once, post everywhere

Threads, media and alt text, with every platform’s limit checked as you type. ⌃⌘C opens it from any app.

- 
3
### See your whole week

Every scheduled post on a calendar: this Mac’s and your Statuz Cloud workspace’s, side by side.

- 
4
### Every account, one list

Accounts on this Mac and in Statuz Cloud, each with how its sign-in is doing.

## Also in the Mac app
macOS 26 or later
Share from any appSend a link, text or up to 4 files to a new post.

The CLI insideIt bundles the same CLI, so your agent and the app share one queue.
Local or CloudFree on this Mac, or signed in to your Statuz Cloud workspace. Or both.

Keys in your keychainSign-ins live in the macOS keychain, never in plain files.
# Schedule posts from your terminal

A free CLI and MCP server for X, Bluesky, Mastodon and LinkedIn. Claude Code, Codex and Cursor drive it, and so can you.
[Get started](/docs/quickstart)[

Connect your agent](#agents)Terminal — statuz
$ statuz posts create --text "Shipping v2 today" --at "fri 17:30"id: p_uqb9pezdt6status: scheduledat: 2026-10-09T20:30:00.000Zdestinations: ACCOUNTID STATUS ATTEMPTS acc_x pending 0 acc_bsky pending 0 acc_masto pending 0 acc_li pending 0Your agent

- Turn the changelog into a thread and schedule it for tomorrow 9am.
- 

`statuz · posts_create`3 posts · X and Bluesky · tomorrow 9:00 AM
- Scheduled: 3 posts, each under every limit. It goes out Monday at 9:00 AM.
- What's going out this week?
- 

`statuz · posts_list`2 scheduled
- Your thread on Monday, then "Shipping v2 today" on Friday at 5:30 PM.
Terminal
$ statuz statusdaemon: running: yes service: launchdaccounts: 4scheduled: 2attention: 0next: id: p_yk4rwqgsvp at: 2026-10-05T12:00:00.000Z

One post, four places

Fri 5:30 PMscheduled

Published to Bluesky

LinkedIn timed out: retry in 5 minTerminal
$ statuz accounts connect --platform blueskyaccount: id: acc_bsky platform: bluesky handle: statuz.app health: ok$ statuz accounts listID PLATFORM HANDLE REMOTEID DEFAULT HEALTHacc_x x @statuzapp 1 yes okacc_bsky bluesky statuz.app did:plc:statuz yes okacc_masto mastodon @statuz@mastodon.social 2 yes okacc_li linkedin Statuz urn:li:person:3 yes okTerminal
$ statuz posts create \ --text "1/ Why we rebuilt Statuz" \ --text "2/ Agents are users now" \ --text "3/ So every command is one spec" \ --at "tomorrow 9am"id: p_yk4rwqgsvpstatus: scheduledthread: 1/ Why we rebuilt Statuz 2/ Agents are users now 3/ So every command is one specat: 2026-10-05T12:00:00.000ZTerminal
$ statuz posts create --text "$(cat launch.md)" --to xerror: X.com (@statuzapp): 352 characters, the limit is 280 thread.0.text: X.com (@statuzapp): 352 characters, the limit is 280$ statuz posts create --text "Statuz 2 ships" --to x --at "fri 9am"status: scheduledTerminal
$ statuz startdaemon: running: yes service: launchd$ statuz statusaccounts: 4scheduled: 2attention: 0next: at: 2026-10-05T12:00:00.000Z

- Terminal
$ statuz accounts connect --platform blueskyaccount: id: acc_bsky platform: bluesky handle: statuz.app health: ok$ statuz accounts listID PLATFORM HANDLE REMOTEID DEFAULT HEALTHacc_x x @statuzapp 1 yes okacc_bsky bluesky statuz.app did:plc:statuz yes okacc_masto mastodon @statuz@mastodon.social 2 yes okacc_li linkedin Statuz urn:li:person:3 yes ok1
### Connect once

Sign in to each platform in your browser. Tokens go to your keychain, never to a file.

- Terminal
$ statuz posts create \ --text "1/ Why we rebuilt Statuz" \ --text "2/ Agents are users now" \ --text "3/ So every command is one spec" \ --at "tomorrow 9am"id: p_yk4rwqgsvpstatus: scheduledthread: 1/ Why we rebuilt Statuz 2/ Agents are users now 3/ So every command is one specat: 2026-10-05T12:00:00.000Z2
### Write it your way

A post or a thread of up to 25, now or "tomorrow 9am" in your time zone.

- Terminal
$ statuz posts create --text "$(cat launch.md)" --to xerror: X.com (@statuzapp): 352 characters, the limit is 280 thread.0.text: X.com (@statuzapp): 352 characters, the limit is 280$ statuz posts create --text "Statuz 2 ships" --to x --at "fri 9am"status: scheduled3
### Checked before it’s saved

Every post meets every platform’s limits up front, so nothing fails at 9am for being too long.

- Terminal
$ statuz startdaemon: running: yes service: launchd$ statuz statusaccounts: 4scheduled: 2attention: 0next: at: 2026-10-05T12:00:00.000Z4
### Out on time, once

The daemon publishes while your computer is on and retries what a platform drops. A copy that went out never goes again.

Your agent

- Anything that needs me?
- 

`statuz · status`1 failed: LinkedIn timed out
- The LinkedIn copy of "Shipping v2 today" timed out. X, Bluesky and Mastodon went out. Retry LinkedIn?
- Yes, and move tomorrow’s posts to 10am.
- 

`statuz · posts_publish, posts_edit`LinkedIn published · 3 posts moved
- Done. LinkedIn is out, and tomorrow starts at 10:00 AM.

- Schedule this thread for Friday 9am
- What's going out this week?
- Retry the LinkedIn post that failed
- Move tomorrow's posts to 10am

- 

**You or your agent**The CLI, MCP or the Mac appruns statuz
- 

**This computer**The daemon and your keychain

Your own sign-in
- 
**The platforms**X, Bluesky, Mastodon, LinkedIn

- 
**Our servers**Never in the middle

- 

### Never posts twice

Failures retry after 1, 5 and 15 minutes. A half-sent thread picks up where it stopped.

- 

### Late posts wait

Computer asleep past the time? The post waits for you instead of going out hours late.

- 

### Keys in your keychain

Tokens live in the OS keychain. Nothing in plain files, nothing on our side.

- 

### Free, no account

No sign-up, no watermark, no post limit on your own computer.

[How scheduling works
](/docs/scheduling)
## Try it
Shipping Statuz v2 today: one CLI for X, Bluesky, Mastodon and LinkedIn. statuz.app
184
217
404
2917
ThreadWhenNowTomorrow 9amFri 17:30Mon 10amTerminalYour agent
```
statuz posts create \
 --text 'Shipping Statuz v2 today: one CLI for X, Bluesky, Mastodon and LinkedIn. statuz.app' \
 --at 'tomorrow 9am'
```
Copy
## Install

## Install Statuz

Homebrew
npm
Bun
ShellRun this in your terminal
```
brew install intenseloop/tap/statuz
```
Copy
macOS and Linux. Updates with brew upgrade.

- 

`statuz init` sets up ~/.statuz; pick which agent apps use it
- 

`statuz accounts connect --platform bluesky` approve in the browser
- 

`statuz start` publishes scheduled posts
Run this in your terminal
```
npm i -g statuz-cli
```
Copy
Installs the binary for your OS and CPU.

- 

`statuz init` sets up ~/.statuz; pick which agent apps use it
- 

`statuz accounts connect --platform bluesky` approve in the browser
- 

`statuz start` publishes scheduled posts
Run this in your terminal
```
bun add -g statuz-cli
```
Copy
The same package as npm.

- 

`statuz init` sets up ~/.statuz; pick which agent apps use it
- 

`statuz accounts connect --platform bluesky` approve in the browser
- 

`statuz start` publishes scheduled posts
Run this in your terminal
```
curl -fsSL https://statuz.app/install | sh
```
Copy
Checks the download, installs to ~/.local/bin.

Read the install scriptstatuz.app/install
```
#!/bin/sh
# Statuz installer: curl -fsSL https://statuz.app/install | sh
#
# Downloads the statuz binary for this OS and CPU from cdn.statuz.app,
# checks its SHA-256 against the release's SHA256SUMS, and puts it in
# ${STATUZ_INSTALL_DIR:-$HOME/.local/bin}. Needs curl, tar and shasum or sha256sum.
set -eu

# statuz.app fills in the latest release when it serves this script.
version="${STATUZ_VERSION:-2.0.1}"
downloads="${STATUZ_DOWNLOAD_URL:-https://cdn.statuz.app/download/cli}"
install_dir="${STATUZ_INSTALL_DIR:-$HOME/.local/bin}"

fail() {
 printf 'statuz install: %s\n' "$1" >&2
 exit 1
}

need() {
 command -v "$1" >/dev/null 2>&1 || fail "$1 is required"
}

need curl
need tar

case "$(uname -s)" in
Darwin) os=darwin ;;
Linux) os=linux ;;
*) fail "unsupported OS $(uname -s): Statuz runs on macOS and Linux" ;;
esac

case "$(uname -m)" in
arm64 | aarch64) arch=arm64 ;;
x86_64 | amd64) arch=x64 ;;
*) fail "unsupported CPU $(uname -m): Statuz needs arm64 or x64" ;;
esac

# An x64 shell under Rosetta on Apple silicon: install the native build.
if [ "$os" = darwin ] && [ "$arch" = x64 ] &&
 [ "$(sysctl -n sysctl.proc_translated 2>/dev/null || echo 0)" = 1 ]; then
 arch=arm64
fi

if command -v shasum >/dev/null 2>&1; then
 sha256() { shasum -a 256 "$1" | cut -d ' ' -f 1; }
elif command -v sha256sum >/dev/null 2>&1; then
 sha256() { sha256sum "$1" | cut -d ' ' -f 1; }
else
 fail "shasum or sha256sum is required"
fi

[ -n "$version" ] ||
 fail "no version: run it as curl -fsSL https://statuz.app/install | sh, or set STATUZ_VERSION"

file="statuz-cli-$os-$arch-$version.tgz"
release="$downloads/$version"

work="$(mktemp -d)"
trap 'rm -rf "$work"' EXIT INT TERM

sums="$(curl -fsSL "$release/SHA256SUMS")" ||
 fail "could not reach $release/SHA256SUMS"
checksum="$(printf '%s\n' "$sums" | sed -n "s/^\([0-9a-f]\{64\}\) $file\$/\1/p" | head -n 1)"
[ -n "$checksum" ] || fail "statuz $version has no build for $os-$arch"

printf 'Downloading statuz %s for %s-%s\n' "$version" "$os" "$arch"
curl -fsSL "$release/$file" -o "$work/statuz.tgz" || fail "download failed: $release/$file"

actual="$(sha256 "$work/statuz.tgz")"
[ "$actual" = "$checksum" ] ||
 fail "checksum mismatch (expected $checksum, got $actual); nothing was installed"

tar -xzf "$work/statuz.tgz" -C "$work" package/bin/statuz ||
 fail "the package has no bin/statuz"

mkdir -p "$install_dir"
mv "$work/package/bin/statuz" "$install_dir/statuz"
chmod +x "$install_dir/statuz"

printf '\nInstalled statuz %s to %s/statuz\n' "$version" "$install_dir"

case ":$PATH:" in
*":$install_dir:"*) ;;
*)
 printf '\n%s is not on your PATH. Add this to your shell profile:\n' "$install_dir"
 printf ' export PATH="%s:$PATH"\n' "$install_dir"
 ;;
esac

printf '\nNext:\n'
printf ' statuz init set up ~/.statuz and the agent guide\n'
printf ' statuz accounts connect connect X, Bluesky, Mastodon or LinkedIn\n'
printf '\nDocs: https://statuz.app/docs\n'

```

- 

`statuz init` sets up ~/.statuz; pick which agent apps use it
- 

`statuz accounts connect --platform bluesky` approve in the browser
- 

`statuz start` publishes scheduled posts

## Connect your agent

## Choose your agent
CLIMCP
Claude Code
Cursor

Codex
Claude Desktop
VS Code
Windsurf

Gemini CLI
Copilot CLI

OpenCode

LM Studio

Other
Your agent runs statuz in a terminal, like you do. statuz init lets you pick which apps learn how.
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Claude Code in the list it shows; the Statuz skill goes in ~/.claude/skills.
- 

Ask: "Schedule a post to Bluesky for tomorrow 9am." Claude Code runs statuz for you.
Run this in your terminal
```
claude mcp add statuz -- statuz mcp
```
Copy

- 

In Claude Code, run /mcp and check statuz is connected.
- 

Ask: "Schedule a post to Bluesky for tomorrow 9am."
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Cursor in the list it shows; the Statuz skill goes in ~/.cursor/skills.
- 

The agent runs statuz in its terminal and asks before each command.
Add to ~/.cursor/mcp.json
```
{
 "mcpServers": {
 "statuz": { "command": "statuz", "args": ["mcp"] }
 }
}
```

- 

Open Cursor Settings → MCP and turn statuz on.
- 

Ask the agent to draft a thread with posts_create and draft: true.
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Codex in the list it shows; the Statuz skill goes in ~/.agents/skills.
- 

Ask: "What is scheduled this week?" Codex runs statuz and shows each result.
Run this in your terminal
```
codex mcp add statuz -- statuz mcp
```
Copy

- 

Start codex; the statuz tools load with it.
- 

Ask: "What is scheduled this week on Statuz?"

Claude Desktop can't run terminal commands. Use MCP: Statuz shows up as tools in a new chat.
Run this in your terminal
```
statuz agents add --agent claude-desktop
```
Copy

- 

It adds Statuz to claude_desktop_config.json; your other servers stay.
- 

Restart Claude Desktop. Statuz shows up under the tools icon in a new chat.
Run this in your terminal
```
statuz init
```
Copy

- 

Tick VS Code in the list it shows; the Statuz skill goes in ~/.copilot/skills.
- 

Copilot in agent mode runs statuz in the terminal after you approve.
Add to .vscode/mcp.json
```
{
 "servers": {
 "statuz": { "type": "stdio", "command": "statuz", "args": ["mcp"] }
 }
}
```

- 

Run "MCP: List Servers" and start statuz.
- 

Use it from Copilot Chat in agent mode.
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Windsurf in the list it shows; the Statuz skill goes in ~/.codeium/windsurf/skills.
- 

Cascade runs statuz in its terminal.
Add to ~/.codeium/windsurf/mcp_config.json
```
{
 "mcpServers": {
 "statuz": { "command": "statuz", "args": ["mcp"] }
 }
}
```

- 

Refresh the MCP list in Cascade.
- 

Ask Cascade to schedule a post.
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Gemini CLI in the list it shows; the Statuz skill goes in ~/.gemini/skills.
- 

Gemini CLI asks before it runs each statuz command.
Add to ~/.gemini/settings.json
```
{
 "mcpServers": {
 "statuz": { "command": "statuz", "args": ["mcp"] }
 }
}
```

- 

In Gemini CLI, run /mcp and check statuz is listed.
- 

Ask: "Draft a thread for Friday at 10."
Run this in your terminal
```
statuz init
```
Copy

- 

Tick Copilot CLI in the list it shows; the Statuz skill goes in ~/.copilot/skills.
- 

Copilot CLI asks before it runs each statuz command.
Add to ~/.copilot/mcp-config.json
```
{
 "mcpServers": {
 "statuz": { "type": "local", "command": "statuz", "args": ["mcp"], "tools": ["*"] }
 }
}
```

- 

In copilot, run /mcp and check statuz is listed.
- 

Ask: "What is scheduled this week on Statuz?"
Run this in your terminal
```
statuz init
```
Copy

- 

Tick OpenCode in the list it shows; the Statuz skill goes in ~/.config/opencode/skills.
- 

OpenCode runs statuz in its shell.
Add to ~/.config/opencode/opencode.json
```
{
 "mcp": {
 "statuz": { "type": "local", "command": ["statuz", "mcp"] }
 }
}
```

- 

Start opencode; the statuz tools load with it.
- 

Ask it to schedule a post to Mastodon.

LM Studio can't run terminal commands. Use MCP: Statuz shows up as tools in a new chat.
Run this in your terminal
```
statuz agents add --agent lm-studio
```
Copy

- 

It adds Statuz to ~/.lmstudio/mcp.json; your other servers stay.
- 

LM Studio loads it on save. Chat with a model that can call tools.
Any agent with a terminal
```
statuz help --json
```
Copy

- 

Every command and flag with its JSON Schema, for the agent to read.
- 

Add --json to any command; errors come back with a code and a plain message.
Any MCP client: start this over stdio
```
statuz mcp
```
Copy

- 

Or use HTTP: http://127.0.0.1:3850/mcp while statuz start runs.
- 

Send the token in ~/.statuz/run/relay.token as a Bearer header.

# A social media scheduler that never sleeps

Statuz Cloud posts to X, Bluesky, Mastodon and LinkedIn from our servers, for you, your team and your AI agent. From $0.01 a post, no subscription.
[Get started](https://statuz.cloud/signin)[Pricing](/pricing)

- 
X.com
- 
Bluesky
- 
Mastodon
- 
LinkedIn

statuz.cloud/queue

statuz.cloud/compose

statuz.cloud/queue

Posted at 3:00 AM, laptop closed

5 people, one queue

Published to all four

LinkedIn timed out: retry in 5 min

statuz.cloud/accounts

statuz.cloud/compose

statuz.cloud/queue

statuz.cloud/team

- 

statuz.cloud/accounts
1
### Connect in a click

Sign in to each platform once. Statuz Cloud brings its own X and LinkedIn apps: no developer keys.

- 

statuz.cloud/compose
2
### Write in the browser

Threads, media and alt text, checked against every platform as you type. Or from the Mac app, the CLI or your agent.

- 

statuz.cloud/queue
3
### Plan the week

Every post on a calendar. Your computer can be closed: we publish at the time you picked.

- 

statuz.cloud/team
4
### Bring the team

Viewers look, members write, admins run keys and accounts. Nobody hands out a password.

Your agent

- Schedule the launch thread for Monday 9am, team account.
- 

`statuz · posts_create`3 posts · the workspace's 4 accounts · Mon 9:00 AM
- Scheduled on Statuz Cloud. It goes out Monday at 9:00 AM, even with your laptop closed.

- Sign in as you
- MCP at api.statuz.cloud/mcp
- Read-only API keys
- Same queue as the team
Terminal
$ npx statuz-cli loginOpen this link to sign in: https://api.statuz.cloud/oauth/authorize?…Signed in to Statuz Cloud (https://api.statuz.cloud).$ statuz use cloud$ statuz posts create --text "Launch day" --at "mon 9am"id: p_k2v8tqwm4dstatus: scheduled

- 

**Your team and agents**Web, Mac app, CLI or MCPby role
- 
**Statuz Cloud**Always on, encrypted sign-ins

At the time you picked
- 
**The platforms**X, Bluesky, Mastodon, LinkedIn

- 

**Your passwords**Nobody on the team ever sees one

- 

### Roles

Viewers look. Members write and change their own posts. Admins run the team; the owner pays.

- 

### Never posts twice

Failures retry. A half-sent thread picks up where it stopped.

- 

### Your logo all the way

Turn on the watermark and Statuz adds it to images and videos as they go out.

- 

### One balance

The workspace pays per post; each seat past the owner's is $5 a month.

## Pricing
[All prices
](/pricing)Bluesky, Mastodon, LinkedIn$0.01 a postX.com$0.03 a postX.com with a link$0.30 a postEach seat past the owner's$5 a month, prorated the month they join
Prepaid credits from $5. Drafts, scheduling, edits and agent calls are free.

## Connect your agent
[Agent setup
](/docs/agents)Sign in from a terminal
```
npx statuz-cli login
```
CopyOr add the MCP server
```
https://api.statuz.cloud/mcp
```
Copy
## Statuz Cloud questions

Do I need X or LinkedIn developer apps?
No. Statuz Cloud signs in with its own X and LinkedIn apps. You click Connect and approve.

Is there a subscription?
No. You add prepaid credits, from $5, and each published post spends a little. Drafts, scheduling and edits are free.

What happens when credits run out?
Scheduled posts wait instead of failing. Add credits and they go out in order. Auto-reload can top up the balance from a saved card.

Do credits expire?
Yes, 6 months after you add them. The oldest credits are spent first, and Statuz warns you 14 days before.

Can my AI agent post?
Yes. Claude, Codex, Cursor and others connect over MCP or run the statuz CLI. Scripts and CI use API keys with their own role (viewer, member or admin), so an agent gets only the reach you choose, never billing.

Can I run Statuz without the cloud?
Yes. The CLI and the Mac app are free on your own computer. Statuz Cloud is for posts that must go out while it sleeps, and for teams.

statuz.cloud/queue

- Posts while your Mac sleeps
- Workspaces and roles
- A composer in the browser
- From $0.01 a post

## Your computer or Statuz Cloud
[Compare
](/docs/cloud)

Your computerPublishes while it's awake. Your own X and LinkedIn app keys.Free[
Statuz CloudAlways on, teams and a web composer. Prepaid credits.From $0.01](/#cloud)
Side by side9Feature

 Your computer
 Statuz CloudPriceFreeFrom $0.01 a post, prepaidAccountNoneSign in with Google or ApplePublishes while you sleepWhen the computer is awakeAlwaysX and LinkedIn appsYour own developer appsStatuz's, nothing to set upSign-in tokensYour OS keychainEncrypted on our serversBluesky sign-inReconnect every 2 weeksStays signed inTeams—Orgs and roles, $5 a month per extra seatWatermarkNoneYour logo, per postClientsCLI, MCP, Mac appCLI, MCP, Mac app, web
## Questions

Is Statuz free?
Yes. The CLI and the Mac app are free, with no watermark. Statuz Cloud is optional and paid per post.

Do I need an account?
Not to run it on your own computer. You only sign in for Statuz Cloud.

Which platforms does it post to?
X, Bluesky, Mastodon and LinkedIn: posts, threads, images and video.

Can ChatGPT, Claude or Cursor use it?
Yes. Agents run the CLI directly, or connect to statuz mcp as an MCP server.

Where are my sign-in tokens?
Locally, in your OS keychain. With Statuz Cloud, on our servers, so Cloud can publish for you.

What does Statuz Cloud cost?
$0.01 per post on Bluesky, Mastodon and LinkedIn, $0.03 on X. Prepaid credits from $5.

## From the blog
[All posts
](/blog)[

Guide · 5 Oct · 1 minHow to Schedule Posts on BlueskyHow to schedule posts on Bluesky: a free Bluesky scheduler for posts, threads, images and several accounts, alongside X, Mastodon and LinkedIn.](/blog/how-to-schedule-posts-on-bluesky-the-complete-guide-for-2025)[

Guide · 5 Oct · 2 minHow to Schedule LinkedIn PostsHow to schedule LinkedIn posts: the built-in scheduler, then a free LinkedIn post scheduler for your profile alongside X, Bluesky and Mastodon.](/blog/linkedin-post-scheduling-a-professionals-guide-to-consistent-content)[

Guide · 5 Oct · 2 minHashtags on Twitter (X), Bluesky, Mastodon and LinkedInHow Twitter hashtags work today, and how hashtags on Bluesky, Mastodon and LinkedIn differ: how many to use, where they help, and how to post with them.](/blog/mastering-hashtag-strategy-across-x-bluesky-and-mastodon-in-2025)[

Guide · 4 Oct · 2 minBest Time to Post Art on Twitter (X)The best time to post art on Twitter (X) by art type, how to post art so it looks right, and how to schedule it for followers in other time zones.](/blog/best-times-to-post-art-and-visual-content-on-x-twitter-in-2025)[

Guide · 4 Oct · 2 minHow to Schedule YouTube Videos and PostsHow to schedule YouTube videos, Shorts, Premieres and community posts in YouTube Studio, then the announcement on X, Bluesky, Mastodon and LinkedIn.](/blog/how-to-schedule-posts-on-youtube-complete-guide-for-videos-and-community-updates)[

Guide · 4 Oct · 3 minImage Sizes for Twitter (X), Bluesky, Mastodon and LinkedInTwitter image size, Bluesky banner size and profile picture size, plus Mastodon and LinkedIn: dimensions, file limits and formats in one table.](/blog/mastering-image-sizes-for-x-twitter-bluesky-and-mastodon-in-2025)
## Your queue, one click away

Free on your Mac. Add Statuz Cloud when posts can’t wait for it.
[

Download for Mac](/download?from=home-start#mac)

- 
X.com
- 
Bluesky
- 
Mastodon
- 
LinkedIn
[

](/)
Schedule posts from your terminal or your agent.
LightDarkAuto© 2026 [Intenseloop, Inc.](https://intenseloop.com)[
](https://x.com/intent/follow?screen_name=stewones)