Works, with rewrites

How to post from Facebook to X

You can, but not by copying the text across: 3 things change between Facebook and X, starting with you lose 1,720 characters. Below is exactly what breaks and what to do instead.

Note: publishing to X is not available on PostWire yet. The rewrite advice on this page applies however you post.

Side by side

FacebookX
Characters2,000280
Mediaoptionaloptional
Hashtags1-3 hashtags1-2 hashtags, zero is fine
Links in bodyfinesuppress reach
Needs platform approvalyesyes

What changes, one by one

You lose 1,720 characters

Facebook allows 2,000 characters; X caps at 280. A post written to Facebook's length gets truncated — usually mid-sentence — unless it is rewritten, not trimmed.

The hashtag rules are not the same

Facebook: 1-3 hashtags. X: 1-2 hashtags, zero is fine. Carrying the tag block across is the single most obvious sign of an automated cross-post.

A link in the body suppresses reach on X

Links are fine on Facebook. On X they cut distribution — the link belongs in a reply, not in the post.

Why copy-paste cross-posting underperforms

Facebook is warm and community-toned; 40-80 characters peaks engagement. X is one hook and nothing else — opinionated, conversational, over in a breath. Those are different jobs, so the same words cannot do both well — and every algorithm here demotes text that obviously was not written for it. The fix is not to skip cross-posting; it is to send a native version to each network.

Publish to both in one call (once X support launches)

Not available yet: PostWire does not publish to X today. The call below shows the shape it will take when X support launches. Today PostWire publishes the Facebook version only.

curl -X POST https://postwire.io/api/post \
  -H "Authorization: Bearer $POSTWIRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platforms": ["facebook", "x"],
    "text": "Your post",
    "per_platform": {
      "facebook": { "text": "The Facebook version" },
      "x": { "text": "The X version" }
    }
  }'

PostWire's /api/generate writes those per-platform versions for you from a single prompt, respecting every limit in the table above. From an AI agent it is one MCP tool call.

Do this without writing the post twice

PostWire takes one idea and publishes a version written for each network — the right length, hashtags and format per platform. It also refuses posts that would fail, like a video network with no video, before they are queued.

Free for one brand — 20 posts a month, 2 networks per post, no card. Starter is $9/month for three brands, 300 posts and every network in each post. There is a REST API and an MCP server if you would rather automate it.

Start free — no card →

Questions people actually ask

Can I cross-post from Facebook to X?
You can, but not by copying the text across: 3 things change between Facebook and X, starting with you lose 1,720 characters. Below is exactly what breaks and what to do instead.
What is the character limit difference between Facebook and X?
Facebook allows 2,000 characters and X allows 280.
How do I post to Facebook and X at the same time?
Not with PostWire yet: publishing to X is not available on PostWire. When X support launches, one API call (POST /api/post) or one MCP tool call from an AI agent will publish to both. Today PostWire publishes the Facebook version only.

Other pairs: X to Facebook · all combinations · which APIs need approval

Most tools that do this bill per connected profile. What that actually costs once you add a second brand is worth reading first.