PostPost.ai PostPost.ai

Social media post checker

Paste the caption, add the file, and see what each network does with it before you publish.

What are you posting?

Checked against all 9 networks we publish to: Instagram, Facebook, Threads, X, TikTok, YouTube, Telegram, LinkedIn and Google Business Profile. A network that cannot publish the format you pick is greyed out rather than judged.

The file stays on your device. Only its size, type and dimensions are sent.

What this page does not know

  • We hold a measured file limit for 3 of the 9 networks. For the rest the honest answer is that no send of ours has ever been refused over a file's size or format — not that the file is fine. Facebook's own docs say 4 MB and Threads' say 8 MB, and we have watched both publish a 12 MB image; writing those numbers down would refuse posts that demonstrably work.
  • Video duration and frame size are not checked, and cannot be yet: there is no ffmpeg in our image, so nothing we run can read a clip's length or its pixels. That is the thing that most often refuses a video, so the numbers below the report are quoted from the networks' own documentation and marked as quotes.
  • Aspect ratio is a FEED rule. A Story and a Reel are a different surface with a different range, so on those formats the shape check steps aside rather than judging your file against a range that does not apply to it.
  • WebP is accepted and converted to JPEG on the way in, so Instagram — which refuses WebP outright — takes it as a JPEG. The size in the report is the file you picked; the JPEG we send is re-encoded, so its size differs a little.

This social media post checker answers one question per network: does this post go out as it is? Paste the caption, pick the file, choose whether you are posting a single post, a carousel, a video or a story, and the report names every network that takes it, every network that trims it, and every network that refuses it — with the reason, in the network's own terms.

It is two checks, not one, because a post can fail in two different places. The first is our own door: a format we cannot publish, or a file bigger than we can carry, never reaches any network at all. The second is per network, and it is where most surprises live — the same accepted file can be fine on seven networks and refused by the eighth. Instagram publishes JPEG and PNG and nothing else, and wants a feed image between 0.75:1 and 1.91:1. X takes four items and 5 MB per image. Telegram caps a caption at 1,024 characters the moment the post carries a file, against 4,096 for a message with no file. One verdict for the whole post would have to hide all of that.

Nothing you paste and nothing you pick is uploaded. The browser reads the file's size, type and pixel dimensions and sends those five numbers; the bytes stay on your machine. There is no account, no queue and nothing stored — the report is arithmetic over the same registry our publisher reads, which is why it can answer instantly and why it agrees with what we would do with the post.

Every limit here comes from a send we have actually made. We do not copy caps out of a network's documentation: we tried that once with Instagram's documented 8 MB image limit and it killed the Instagram half of four production posts, for a file Instagram publishes fine. So where we have measured a limit the report states it, and where we have not it says that instead of showing you a green tick we cannot back.

Questions

Is my file uploaded anywhere?

No. Your browser measures the file locally and sends only its size, type and pixel dimensions — five numbers and your caption. The bytes never leave the page, nothing is stored, and there is no account to make.

Why does one network refuse a file the others take?

Because each network's API enforces its own limits, and they disagree. Instagram refuses any image that is not JPEG or PNG and any feed image outside 0.75:1 to 1.91:1. X takes 5 MB per image and four items per post. Telegram takes 10 MB per photo. A file can clear our own door and still be refused by exactly one of them, which is why this page reports per network instead of giving the post one verdict.

What happens to the networks that refuse it — does the whole post fail?

No. When we publish, a file a network cannot carry is left out of that network's post and the rest still go out; a network fails only when nothing is left for it to publish. The report is worded the same way, so "Instagram will post 8 of 9 items" means exactly what it says.

Why does it say nothing about how long my video is?

Because we cannot read it. There is no ffmpeg in our image, so nothing we run can measure a clip's duration or its frame size — and duration is what most often refuses a video. The report checks a video's size and type and says plainly that it checked nothing else; the networks' documented lengths are printed underneath as quotes from their docs, not as checks we ran.

Is a warning the same as a refusal?

No, and the difference is deliberate. A refusal is something no setting can lift. A warning is a limit we cannot verify from here — X's 280 characters is the free tier's, X Premium sells 25,000, and X counts characters differently from the way we count them, so a long caption is a warning rather than a block. We refuse locally only where the send is certainly doomed.

Which networks does it check?

Every network PostPost.ai publishes to: Instagram, Facebook, Threads, X, TikTok, YouTube, Telegram, LinkedIn and Google Business Profile. The list is read from the same registry the publisher uses, so it cannot fall behind.