Post Utils

Social Media Post Mockup Generator

See how a post will look before it goes live. Type the text, add a photo and your profile picture, pick X, Threads, LinkedIn, Instagram, an Instagram DM or Bluesky, and download a sharp PNG to share with a client or a team.

For mockups of your own posts and client previews. Don't use it to impersonate anyone.

Layout

Theme

Profile
Post

Line breaks, emoji, @mentions, #hashtags and links show as they would in the feed.

Images (up to 4)

Type counts as numbers (12345 shows as 12.3K) or as you want them to read, like 1.2K. Leave one empty to hide it.

Your post never leaves your device: everything happens in your browser.

How to make a post mockup

1

Pick a layout and theme

Choose X, Threads, LinkedIn, Instagram, Instagram DM or Bluesky, in light or dark.

2

Fill in the post

Add your name, handle and profile picture, the text, any images, the time and the counts you want to show.

3

Download the PNG

Check the preview, then press Download PNG and drop the image into your deck, doc or message.

How the mockup is made

The preview and the download are drawn by the same code on a canvas in your browser, so the PNG matches what you see: text wraps at the same width, line breaks you type are kept, and words that don't fit move to the next line. The PNG is saved at twice the post's on-screen width, for example 1196 pixels wide for an X post, so it stays sharp on phone and retina screens. Its height follows the content.

@mentions, #hashtags and links are coloured the way feeds show them. Counts are free text: type 12345 and it shows as 12.3K on X, Threads and Bluesky, or as 12,345 on LinkedIn and Instagram, the way those apps write them; type 1.2K or anything else and it's shown as typed. Leave a count empty to hide it.

The layouts are drawn from scratch to resemble each feed. They use generic icons and your device's own font, and there are no platform logos or verified badges. Apps change their designs often, so treat the result as a close preview rather than a pixel-perfect copy.

Features

Six layouts

X, Threads, LinkedIn, an Instagram feed post (square or 4:5), an Instagram DM conversation and Bluesky.

Text as feeds show it

Line breaks, emoji, @mentions, #hashtags and links, wrapped at the real post width.

Light and dark

Show the post the way most of your audience will see it.

Labelled as a mockup

A small Mockup label is on by default, so a preview isn't mistaken for a live post.

Frequently asked questions

What is a post mockup for?

Showing a post before it's published: sending a draft to a client or manager for approval, putting a post in a pitch deck or case study, or making an image of your own post to share on another platform.

Can I remove the Mockup label?

Yes: untick “Show the Mockup label”. Do that only for images of your own posts or of posts you're preparing for a client. Don't use the tool to make a post look like someone else wrote it: impersonating people breaks every platform's rules and can be illegal.

Does it use the real platform logos or verified badges?

No. The layouts are original drawings that look like a feed post, with generic heart, comment and repost icons. There are no logos, trademarks or verified badges.

Are my text and photos uploaded?

No. Everything is drawn in your browser and the PNG is saved straight to your device.

What size is the PNG?

Twice the width the post has in a desktop feed: 1196 px for X, 1120 px for Threads, 1110 px for LinkedIn, 936 px for Instagram, 780 px for an Instagram DM and 1200 px for Bluesky. The height depends on the text and images.

Why does the font look slightly different from the app?

The mockup uses your device's system font, which is close to, but not always the same as, the font each app uses. Line lengths can differ by a word or two.