BlueskyBluesky mockups

Fake Bluesky DM & screenshot generator

Build a Bluesky DM with the thing that identifies the network — handles that are domains, like @name.bsky.social or your own — plus Bluesky blue outgoing bubbles, a blue-grey incoming rather than a neutral one, and no read receipts, because the app has none.

Open the Bluesky editorFree · no account · PNG and video

Start from a Bluesky example

Each one opens in the editor as an editable, fictional scene — names, timings and interface details already set. Change a word, or change everything.

All examples
BlueskyBlueskySupport

Who should I follow?

The onboarding conversation a new network has constantly. Blue bubbles, no receipts, domain handles throughout.

Use this template
BlueskyBlueskyWork

The bug report that came by DM

A user reporting something properly, and a maintainer who is grateful. Common on a developer-heavy network.

Use this template

How to make a Bluesky mockup

  1. Start from an example

    The three above are what this network's DMs are actually full of: two people comparing domain handles, a properly written bug report, and someone new asking why their feed is empty.

  2. Set the handle as a domain

    Full handle in the status field — @name.bsky.social or a custom domain. This is the detail that makes it Bluesky rather than any blue messenger, so it is worth getting right first.

  3. Write the messages

    Set who sent each one and when. Outgoing comes out Bluesky blue; incoming is the soft blue-grey rather than a neutral.

  4. Skip the receipts

    There is nothing to set — the app has none, and the skin will not draw any. The absence is part of the accuracy.

  5. Export

    PNG at 1× free, up to 3× on Pro, light or dark, the whole thread or one screen, with or without the phone frame.

How the Bluesky interface is put together

Our Bluesky skin is rebuilt from the real interface in code rather than traced from a screenshot, so the details that make it recognisable survive at export resolution. Here is what those details actually are.

Handles are domains

@nadia.bsky.social, or @aisha.dev if you own the domain. This is the AT Protocol's entire identity model and the single most Bluesky thing on any screen — a bare @name reads as Twitter immediately. If your mockup has one, it is not a Bluesky mockup.

The domain is the verification

There is no blue tick to buy here, because owning the domain is the proof. That is worth understanding before you build a scene: a Bluesky screenshot showing a verification badge is showing a feature from a different network.

Bluesky blue, and a blue-grey incoming

Outgoing bubbles are the brand blue with white text; incoming are a soft blue-grey rather than a neutral one. Most messengers use a plain grey for the other side — the tint here is small and consistent, and it is part of why the app reads as coherent.

Large, even corners with no tails

18px all round on both sides and no pointer on any bubble. Clean and symmetrical in a way that reads as designed-by-developers, which is fair — that is what it is.

No read receipts

Bluesky DMs do not show them, so none are drawn even if the document carries one. Another network where the honest thing is an absence.

The header shows both name and handle

Display name on top, domain handle beneath. Because handles are domains rather than short strings, that second line is longer than most apps' and the header has to give it room — which itself contributes to the look.

What people use Bluesky mockups for

Questions about Bluesky mockups

How do I set a domain handle?
It is the status field in the Contact section — put the full handle there, including the domain: @name.bsky.social, or a custom one like @aisha.dev. It renders under the display name in the header.
Why is there no verification badge?
Because Bluesky does not have one in the way other networks do. Owning the domain in your handle is the verification. Drawing a tick here would be importing a feature from a different platform.
Why can't I add read receipts?
Bluesky DMs do not show them, so the skin ignores the field rather than drawing something the app has never had.
Can I make a group DM?
Yes. Turn on Group, name the thread and add the people who speak in the People section — each gets their own colour.
Can I fake a DM from a real account?
No, and our terms prohibit it. Attributing an invented message to a named real person is impersonation — and given that a handle here is a domain somebody actually owns, it is a particularly direct kind. Every example on this page uses fictional accounts.
Should I use light or dark?
Both work. The bug-report example above is dark, which is probably the more common mode among the app's early user base. The blue holds its character in either.
Can I export a long thread?
Yes. The download dialog offers the whole conversation at its true height, exactly one screen, or fit-to-content, so nothing is cropped at the fold.
Is there a watermark?
Free downloads carry a small SIMULATED · socialmock.com label, burned into the pixels, at 1× resolution. Pro removes the label and unlocks 2× and 3×. You can also switch the label on yourself at any tier, which is worth doing if a viewer might take the image at face value.

Use these responsibly

Everything made here is simulated. SocialMock has no connection to Bluesky and cannot read, send or alter a real message. Do not use a mockup to impersonate anyone, pass it off as a genuine screenshot, or present it as evidence in any legal, workplace or academic matter — see our Acceptable Use policy. For general information about legal risk, read is it legal to fake a screenshot? If you publish somewhere a viewer might mistake it for real, switch on the “Simulated” label before exporting.

Related generators

Browse all 36 apps

Build your Bluesky mockup now

Click straight into the preview and type. Export when you are done — free at 1×, up to 3× on Pro.

Open the Bluesky editor