# Free social media tools: video checker, caption counter and more

> The checks Superbridger runs before every post, free for anyone: see if a video or a caption will post on each platform, look up the limits, resize images, check safe zones and tag your links. No sign-up, and your files stay in your browser.

Facts checked 2026-11-06. Web page: https://superbridger.com/free-tools (also in Dutch: https://superbridger.com/nl/gratis-tools).

## The tools

- [Video checker](https://superbridger.com/free-tools/video-checker): Will your video post on Reels, TikTok, Shorts, LinkedIn and X? Length, size, shape, codec and sound, per platform. API: `POST /api/tools/check-video`; MCP tool: `check_video`.
- [Caption checker](https://superbridger.com/free-tools/caption-checker): One caption against every platform's limit, counted the way each one counts: X's 280, Instagram's 5 hashtags, YouTube's title. API: `POST /api/tools/check-caption`; MCP tool: `check_caption`.
- [Social media specs](https://superbridger.com/free-tools/social-media-specs): Every limit in one dated table: video length and size, caption length, hashtags, photos and Stories. Also as JSON. API: `GET /api/tools/specs`; MCP tool: `get_platform_specs`.
- [Image resizer](https://superbridger.com/free-tools/image-resizer): Crop an image to the right size for each platform: posts, Stories, banners and thumbnails. In your browser. API: `GET /api/tools/image-sizes`; MCP tool: `get_image_sizes`.
- [Safe zone checker](https://superbridger.com/free-tools/safe-zones): See where the buttons and captions of Reels, TikTok and Shorts cover your video, before you post. API: `GET /api/tools/safe-zones`; MCP tool: `get_safe_zones`.
- [UTM builder](https://superbridger.com/free-tools/utm-builder): Tag a link for every platform at once, so your analytics show which post brought the visitors. API: `GET /api/tools/utm`; MCP tool: `build_utm_links`.
- Image resizer per platform: [Instagram image resizer](https://superbridger.com/free-tools/image-resizer/instagram), [Facebook image resizer](https://superbridger.com/free-tools/image-resizer/facebook), [LinkedIn image resizer](https://superbridger.com/free-tools/image-resizer/linkedin), [X image resizer](https://superbridger.com/free-tools/image-resizer/x), [YouTube thumbnail resizer](https://superbridger.com/free-tools/image-resizer/youtube), [TikTok image resizer](https://superbridger.com/free-tools/image-resizer/tiktok)

## Use them from an AI app or code

No account, no key, open to any origin (CORS). Nothing is stored.

- MCP server (Streamable HTTP, no sign-in): `https://superbridger.com/api/tools/mcp`. Tools: `check_video`, `check_caption`, `get_platform_specs`, `get_image_sizes`, `get_safe_zones`, `build_utm_links`.
- JSON API: `https://superbridger.com/api/tools`. OpenAPI 3.1: https://superbridger.com/api/tools/openapi.json
- Counting characters: use `check_caption` (or `POST /api/tools/check-caption`) rather than counting yourself; it counts the way each platform does.
- Checking a video: read its facts with ffprobe (duration, width, height, r_frame_rate, codec_name of each stream, sample_rate, channels, size) and send them to `check_video`.
- Publishing posts is Superbridger's own MCP server (https://superbridger.com/mcp), which needs an account.

Examples:

```sh
# Video checker
curl -X POST "https://superbridger.com/api/tools/check-video" \
  -H "content-type: application/json" \
  -d '{"durationSeconds":42.5,"width":1080,"height":1920,"fps":30,"videoCodec":"h264","audioCodec":"aac","audioSampleRate":48000,"fileSizeBytes":48000000,"fastStart":true}'
```

```sh
# Caption checker
curl -X POST "https://superbridger.com/api/tools/check-caption" \
  -H "content-type: application/json" \
  -d '{"text":"Our spring collection is here 🌸 example.com/spring #spring #fashion"}'
```

```sh
# Social media specs
curl "https://superbridger.com/api/tools/specs?platform=instagram"
```

```sh
# Image resizer
curl "https://superbridger.com/api/tools/image-sizes?platform=instagram"
```

```sh
# Safe zone checker
curl "https://superbridger.com/api/tools/safe-zones"
```

```sh
# UTM builder
curl "https://superbridger.com/api/tools/utm?url=example.com%2Fspring&campaign=spring-sale"
```

## Every platform's limits

The limits Superbridger checks before every post (the same checks the video and caption checkers run). Superbridger takes uploads up to 1 GB.

|  | Instagram | Facebook | YouTube | TikTok | LinkedIn | X |
| --- | --- | --- | --- | --- | --- | --- |
| Text | 2,200 characters | 63,206 characters | title 100 characters; description 5,000 bytes; tags 500 characters | 2,200 utf16 | 3,000 characters | 280 weighted |
| Hashtags | 5 | – | 15 | – | – | – |
| Video length | 3 s–15 min | 3 s–90 s | up to 3 min | up to 10 min | 3 s–30 min | 0.5 s–20 min |
| File size | 300 MB | – | – | 4,096 MB | 500 MB | 512 MB |
| Video codecs | H.264, HEVC | H.264, HEVC | H.264, HEVC, VP8, VP9, AV1, ProRes | H.264, HEVC, VP8, VP9 | H.264, HEVC | H.264 |
| Stories | 3 s–60 s | 3 s–60 s | – | – | – | – |
| Photos per post | 10 | 10 | – | – | 20 | 4 |

### Instagram

- Takes: video, images
- caption: up to 2,200 (characters)
- Hashtags: 5. Since 18 December 2025 (it was 30). Instagram's developer docs still say 30.
- @mentions: 20
- Vertical video becomes: Reel
- Video length: 3 s–15 min
- File size: up to 300 MB
- Shape: 9:16 vertical recommended; other shapes are cropped or get bars in the Reels feed
- Video codecs: H.264, HEVC; sound: AAC, at most 48 kHz (required); 23–60 fps
- Note: Instagram fetches the file from a link, so the index (moov) should be at the front ("fast start").
- Stories: a video of 3 s–60 s, up to 100 MB, or one image
- Photos: up to 10 per post, JPEG/PNG/GIF, up to 20 MB each, 4:5 to 1.91:1. Instagram takes JPEG only: other formats are converted, a GIF goes as a still. Shapes outside 4:5 to 1.91:1 are cropped to fit, keeping the middle.
- Posts per day: 100. Per account per 24 hours (Instagram's limit for posts made through its API).
- More: https://superbridger.com/platforms/instagram

### Facebook

- Takes: video, images, text
- text: up to 63,206 (characters)
- Vertical video becomes: Reel
- Video length: at least 3 s (over 90 s: see note)
- Shape: 9:16 vertical; other shapes may be refused as a Reel
- Video codecs: H.264, HEVC; sound: AAC recommended; 23–60 fps
- Note: Facebook documents 90 seconds as the most for a Reel; longer Reels published fine in Superbridger's tests.
- Stories: a video of 3 s–60 s, or one image
- Photos: up to 10 per post, JPEG/PNG/GIF, up to 20 MB each. Up to 10 photos per post is Superbridger's cap.
- Posts per day: 30. Reels per Page per 24 hours (Meta's limit).
- More: https://superbridger.com/platforms/facebook

### YouTube

- Takes: video
- title: up to 100 (characters), required
- description: up to 5,000 (bytes). UTF-8 bytes, so an accented letter counts 2 and most emoji 4. YouTube removes < and >.
- tags: up to 500 (characters). All tags together; the commas count, and a tag with a space counts 2 more (its quotes).
- Hashtags: 15. With more than 15 hashtags in the description, YouTube ignores all of them.
- Vertical video becomes: Short (vertical or square, up to 3 minutes)
- Video length: – (over 3 min: see note)
- Shape: Vertical or square for a Short; landscape becomes a regular video
- Video codecs: H.264, HEVC, VP8, VP9, AV1, ProRes; sound: Any common codec; AAC recommended
- Note: Longer than 3 minutes, or landscape, and YouTube publishes it as a regular video instead of a Short.
- More: https://superbridger.com/platforms/youtube

### TikTok

- Takes: video
- caption: up to 2,200 (utf16). TikTok counts UTF-16 units: most emoji count 2.
- Vertical video becomes: Video
- Video length: up to 10 min (over 3 min: see note)
- File size: up to 4,096 MB
- Shape: 9:16 vertical recommended; landscape gets bars
- Video codecs: H.264, HEVC, VP8, VP9; sound: AAC recommended; 23–60 fps
- Note: Over 3 minutes only some accounts can post.
- More: https://superbridger.com/platforms/tiktok

### LinkedIn

- Takes: video, images, text
- commentary: up to 3,000 (characters)
- Vertical video becomes: Video
- Video length: 3 s–30 min
- File size: up to 500 MB
- Shape: Any shape from 1:2.4 to 2.4:1, vertical included
- Video codecs: H.264, HEVC; sound: AAC recommended; 23–60 fps
- Note: LinkedIn's API asks for MP4; a MOV usually works.
- Photos: up to 20 per post, JPEG/PNG/GIF, up to 20 MB each
- More: https://superbridger.com/platforms/linkedin

### X

- Takes: video, images, text
- post: up to 280 (weighted). Emoji and CJK characters count 2, every link counts 23 whatever its length. 25,000 for accounts with X Premium.
- Vertical video becomes: Video
- Video length: 0.5 s–20 min
- File size: up to 512 MB
- Shape: Vertical, square and landscape all show
- Video codecs: H.264; sound: AAC recommended; 23–60 fps
- Note: 512 MB is Superbridger's cap per video; X itself takes larger files.
- Photos: up to 4 per post, JPEG/PNG/GIF, up to 20 MB each. A GIF up to 15 MB, on its own.
- More: https://superbridger.com/platforms/x

## Image sizes

Each size's source: the platform's own help page where it publishes one, otherwise its ads guide or an industry guide.

| Platform | For | Size | Shape | Source |
| --- | --- | --- | --- | --- |
| Instagram | Portrait post | 1080 × 1350 | 4:5 | [the platform's help page](https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media) |
| Instagram | Square post | 1080 × 1080 | 1:1 | [the platform's help page](https://help.instagram.com/1631821640426723/) |
| Instagram | Landscape post | 1080 × 566 | 1.91:1 | [the platform's help page](https://help.instagram.com/1631821640426723/) |
| Instagram | Profile grid (3:4) | 1080 × 1440 | 3:4 | [the platform's help page](https://help.instagram.com/1631821640426723/) |
| Instagram | Story or Reel | 1080 × 1920 | 9:16 | [the platform's help page](https://help.instagram.com/1038071743007909/) |
| Instagram | Profile picture | 320 × 320 | 1:1 | [an industry guide](https://sproutsocial.com/insights/social-media-image-sizes-guide/) |
| Facebook | Portrait post | 1440 × 1800 | 4:5 | [the platform's ads guide](https://www.facebook.com/business/ads-guide/update/image/facebook-feed) |
| Facebook | Square post | 1080 × 1080 | 1:1 | [an industry guide](https://sproutsocial.com/insights/social-media-image-sizes-guide/) |
| Facebook | Link preview | 1200 × 630 | 1.91:1 | [the platform's help page](https://developers.facebook.com/docs/sharing/webmasters/images/) |
| Facebook | Story or Reel | 1080 × 1920 | 9:16 | [an industry guide](https://sproutsocial.com/insights/social-media-image-sizes-guide/) |
| Facebook | Page cover | 851 × 315 | 2.7:1 | [the platform's help page](https://www.facebook.com/help/125379114252045) |
| Facebook | Profile picture | 320 × 320 | 1:1 | [the platform's help page](https://www.facebook.com/help/125379114252045) |
| LinkedIn | Landscape post | 1200 × 627 | 1.91:1 | [the platform's help page](https://www.linkedin.com/help/linkedin/answer/a563309) |
| LinkedIn | Square post | 1200 × 1200 | 1:1 | [the platform's ads guide](https://www.linkedin.com/help/lms/answer/a426534) |
| LinkedIn | Portrait post | 1080 × 1350 | 4:5 | [an industry guide](https://buffer.com/resources/social-media-image-sizes/) |
| LinkedIn | Profile banner | 1584 × 396 | 4:1 | [the platform's help page](https://www.linkedin.com/help/linkedin/answer/a549049) |
| LinkedIn | Page cover | 1512 × 256 | 5.91:1 | [the platform's help page](https://www.linkedin.com/help/linkedin/answer/a563309) |
| LinkedIn | Logo or profile picture | 400 × 400 | 1:1 | [the platform's help page](https://www.linkedin.com/help/linkedin/answer/a563309) |
| X | Landscape post | 1600 × 900 | 16:9 | [an industry guide](https://sproutsocial.com/insights/social-media-image-sizes-guide/) |
| X | Square post | 1080 × 1080 | 1:1 | [the platform's ads guide](https://help.x.com/en/business-and-advertising/creative-ad-specifications) |
| X | Portrait post | 1440 × 1800 | 4:5 | [the platform's ads guide](https://help.x.com/en/business-and-advertising/creative-ad-specifications) |
| X | Header | 1500 × 500 | 3:1 | [the platform's help page](https://help.x.com/en/managing-your-account/common-issues-when-uploading-profile-photo) |
| X | Profile picture | 400 × 400 | 1:1 | [the platform's help page](https://help.x.com/en/managing-your-account/common-issues-when-uploading-profile-photo) |
| YouTube | Thumbnail (HD) | 1280 × 720 | 16:9 | [the platform's help page](https://support.google.com/youtube/answer/72431) |
| YouTube | Thumbnail (4K) | 3840 × 2160 | 16:9 | [the platform's help page](https://support.google.com/youtube/answer/72431) |
| YouTube | Shorts thumbnail | 1080 × 1920 | 9:16 | [the platform's help page](https://support.google.com/youtube/answer/72431) |
| YouTube | Profile banner | 2560 × 1440 | 16:9 | [the platform's help page](https://support.google.com/youtube/answer/10456525) |
| YouTube | Profile picture | 800 × 800 | 1:1 | [an industry guide](https://blog.hootsuite.com/social-media-image-sizes-guide/) |
| TikTok | Photo post or video cover | 1080 × 1920 | 9:16 | [the platform's help page](https://developers.tiktok.com/doc/content-posting-api-media-transfer-guide) |
| TikTok | Profile picture | 200 × 200 | 1:1 | [an industry guide](https://blog.hootsuite.com/social-media-image-sizes-guide/) |

- Instagram, profile grid (3:4): Instagram's app takes 3:4, but apps posting through Instagram's API (Superbridger too) can only send 4:5 to 1.91:1, so a 3:4 image is cropped to 4:5 there.
- Facebook, page cover: Shown at 16:9 on computers and about 2.4:1 on phones: keep the middle clear of the edges. Under 100 KB loads fastest.
- LinkedIn, page cover: LinkedIn takes Page images as PNG or JPEG, up to 3 MB.
- X, landscape post: X shows single images from 2:1 to 3:4 in full; other shapes are cropped in the timeline.
- YouTube, thumbnail (hd): Small enough for YouTube's 2 MB limit when uploading from a phone; from a computer it takes up to 50 MB.
- YouTube, profile banner: Only the middle 1235 × 338 shows on every device: keep text and logos there.
- TikTok, photo post or video cover: TikTok's API takes photos up to 1080p, JPEG or WebP, 20 MB each.

## Safe zones (1080 × 1920 vertical video)

What to keep clear at each edge, in pixels. None of the three apps publishes numbers for ordinary posts, only for ads (which also carry a button), so these come from their ads guidance and are a little on the safe side.

| App | Top | Bottom | Left | Right | Source |
| --- | --- | --- | --- | --- | --- |
| Reels (Instagram, Facebook) | 269 px | 672 px | 65 px | 65 px | [Meta's ads guide (Instagram Reels)](https://www.facebook.com/business/ads-guide/update/video/instagram-reels) |
| TikTok | 240 px | 660 px | 120 px | 120 px; 300 px from 840 px down (buttons) | [TikTok's in-feed ads template](https://ads.tiktok.com/help/article/tiktok-auction-in-feed-ads) |
| YouTube Shorts | 288 px | 672 px | 48 px | 192 px | [Google's safe zone overlay for vertical video](https://support.google.com/google-ads/answer/13547298) |

## UTM parameters for social posts

| Parameter | What it says | For a social post |
| --- | --- | --- |
| `utm_source` | Where the visit came from | instagram, tiktok, linkedin… |
| `utm_medium` | What kind of traffic it is | social (ads: paid_social) |
| `utm_campaign` | Which campaign it belongs to | spring-sale |
| `utm_content` | Which post or link, when a campaign has several | reel-1, story-2 |
| `utm_term` | A keyword, mostly for search ads | (usually empty) |

With utm_medium=social, Google Analytics 4 counts the visit as Organic Social whatever the source.

## Questions

### What does the video checker check?

Length, file size, width and height, the video codec (and HDR), frame rate, the sound's codec and sample rate, and whether the file's index is at the front. Each platform gets its own verdict, and Instagram and Facebook a second one for a Story.

### Is my video uploaded?

No. The checker reads the file in your browser and only looks at its technical details. Nothing is sent to us or anyone else.

### What's the best video format for Reels, TikTok and Shorts?

An MP4 with H.264 video and AAC sound, 1080 × 1920 pixels (9:16), at 30 frames per second. Between 3 and 60 seconds it fits all three, and Instagram and Facebook Stories too.

### How long can a video be on each platform?

Instagram Reels 3 seconds to 15 minutes. Facebook Reels at least 3 seconds; Facebook documents 90 seconds as the most. YouTube Shorts up to 3 minutes. TikTok up to 10 minutes (over 3 only for some accounts). LinkedIn 3 seconds to 30 minutes, and X up to 20 minutes.

### Why is a landscape video a warning and not an error?

It still posts, but YouTube publishes a landscape video as a regular video instead of a Short, TikTok shows it with bars, and Instagram and Facebook expect 9:16 for Reels.

### Can an AI app check a video?

Yes. An AI app that can read the file's details (with ffprobe, for example) can send them to the free API or MCP server and get the same verdicts, without an account.

### How does X count characters?

X counts most letters as 1, and emoji and Chinese, Japanese and Korean characters as 2. Every link counts 23, whatever its length, because X shortens it. A post can be 280, or 25,000 with X Premium.

### How many hashtags can I use on Instagram?

5 per post, since 18 December 2025. It used to be 30, and some guides (and Instagram's developer docs) still say 30.

### What's the caption limit on TikTok?

2,200 characters, counted in UTF-16 units, so most emoji count 2.

### How long can a LinkedIn post be?

3,000 characters.

### How long can a YouTube title and description be?

A title up to 100 characters, and a description up to 5,000 bytes, so an accented letter counts 2 and most emoji 4. Tags have 500 characters together.

### Why do AI apps get character counts wrong?

AI models read text in chunks, not letter by letter, so they can't count characters exactly. The free API and MCP server count for them, the way each platform does.

### Where do these numbers come from?

From the checks Superbridger runs before every post, which follow each platform's API documentation and our own tests. Where the two differ, the notes say so.

### How often is this updated?

When a platform changes a limit, and at least every quarter. The date on the page says when it was last checked.

### Can I use this data?

Yes. It's free as JSON at /api/tools/specs. A link back is appreciated.

### Why is Superbridger's limit different from the platform's in places?

In a few places Superbridger sets its own cap, such as 1 GB per upload and 512 MB per video for X. The notes say where.

### Is my image uploaded?

No. It's resized in your browser and saved straight to your device.

### What happens to the parts that don't fit?

They're cropped. Drag the image to choose which part stays, and zoom in if you like. Or choose Fit to keep the whole image on a background colour.

### What size should an Instagram post be?

1080 × 1350 (4:5) takes the most room in the feed. Square is 1080 × 1080, landscape 1080 × 566.

### What size is a YouTube thumbnail?

16:9, at least 640 pixels wide. YouTube recommends up to 3840 × 2160; 1280 × 720 stays under the 2 MB limit for uploads from a phone.

### Where do the sizes come from?

From each platform's own help pages where they publish one, otherwise its ads guide or a well-known industry guide. Every size lists its source.

### What is a safe zone?

The part of a full-screen video that the app doesn't cover with its own buttons, captions, names and bars. Text and faces outside it may be hidden.

### What's the safe zone for Instagram Reels?

Meta's guidance: keep the top 269 pixels (14%), the bottom 672 (35%) and 65 at each side (6%) of a 1080 × 1920 video clear. Its ads guide gives the same for Instagram Stories and Facebook Reels.

### What's the safe zone for TikTok?

On a 1080 × 1920 video: 240 pixels at the top, 660 at the bottom and 120 at each side, with 300 on the right from 840 pixels down, where the buttons are. From TikTok's in-feed ads template.

### What's the safe zone for YouTube Shorts?

On a 1080 × 1920 video: 288 pixels at the top, 672 at the bottom, 48 on the left and 192 on the right. Measured on Google's own overlay for vertical video.

### Is my video uploaded?

No. It's shown in your browser only.

### What is a UTM link?

A normal link with utm_ parameters added. Analytics tools read them to show where a visitor came from: which platform, which campaign, which post.

### Do UTM parameters change the page?

No. The page is the same; only your analytics read them.

### Which medium should I use for social media?

“social” for ordinary posts. With medium social, Google Analytics 4 counts the visit as Organic Social, whatever the source.

### Where can I use UTM links on Instagram?

In your bio, on a link sticker in a Story, and in ads. Instagram doesn't make links in captions clickable.
