← Back to Blog

How to Make a Fake Instagram DM Video in Your Browser

·Updated ·16 min read

A direct message is the most private screen on a phone, which is exactly why it works on a public feed. A viewer who sees a DM thread assumes they are seeing something they were not meant to see, and that assumption does the hook's work for free. The grey bubble on the left, the gradient bubble on the right, the three dots that mean someone is still typing — all of it is pre-understood, so none of your runtime goes on explaining the format.

This guide covers what the Instagram DM template actually draws (and what it does not), how to build and time a thread end to end, the controls that are easy to miss, the content patterns that keep working, and how to fix the handful of things that commonly go wrong.

A scripted Instagram DM thread with typing dots and gradient sent bubbles — rendered to video in the browser.

Why the DM format earns attention

It reads as private. A DM thread implies an audience of one. Putting it on a feed breaks that implication, and the viewer's first reaction is curiosity about who the other person is rather than scepticism about whether the thread is real.

It withholds on purpose. A conversation that arrives one message at a time is a sequence of small gaps. Every typing indicator is a question with a two-second delay before the answer. A screenshot hands over the whole exchange at once and spends its tension immediately.

The sender label does the casting. "jenna 🫶", "the ex", "brand (unpaid)" — the contact name sets a relationship and a stake before a single bubble lands. It is the cheapest exposition available.

The gradient is unmistakable. Instagram's sent bubble is a five-stop purple-to-orange gradient, and nothing else on a phone looks like it. One frame is enough for a viewer to know which app they are looking at.

Common angles, all of which the template supports as written:

  • The slide-in — a fictional DM from a celebrity, brand or character
  • The brand negotiation — an absurd collaboration offer and the reply it deserves
  • The slow reveal — an ordinary opening that turns strange three messages in
  • The receipts — a thread framed as proof of something
  • The double perspective — the same conversation rendered twice, once from each side

For a bench of premises across every template, see AI conversation video content ideas. For the same conversation in iMessage's visual language, see how to make a fake iMessage conversation video.

What the template actually renders

Being precise here matters, because most "DM generators" describe fields they do not have. This is the screen MockClip draws, element by element.

ElementWhat it isCan you change it?
HeaderBack arrow, round contact avatar, contact name, status line, call and video iconsName, status and avatar — yes. The icons are decoration
Status line"Active now" (with a green dot), "Active 1h ago", "Active 2h ago", "Active today", "Active yesterday", or nothingYes — a fixed list of six choices
Sent bubbleRight-aligned, filled with the five-stop Instagram gradient, white textText only
Received bubbleLeft-aligned, flat grey (light theme) or dark grey (dark theme)Text only
TimestampA small centred line above a message, used as a separatorYes — free text, per message
ReactionA rounded pill on the bubble's bottom corner holding one or more of six emojiYes — which emoji, and the delay
SeenA small circular copy of the contact's avatar under your latest messageYes — per message, with a delay
Typing dotsThree bouncing dots in a left-aligned bubbleDuration, per received message
Input barThe message field, camera button, and your text appearing character by characterTyping speed, per sent message
KeyboardAn on-screen keyboard that slides up while you type, with a predictive bar and the pressed key highlightedOn or off
AttachmentOne image, or one video poster frame with a play button and a duration badgePer message
ThemeLight (white) or dark (black)Yes

And the parts that do not exist, so you do not write a script that depends on them: a video attachment does not play (it is a still frame of the clip's opening with a play button drawn on it), there are no voice messages, no stickers or GIFs, no vanish mode, no story replies and no group threads. Every bubble is either yours or the contact's.

Two more limits worth knowing before you plan a thread. There is one avatar per conversation, set on the contact — not per message, and not for your own side. And the Seen indicator needs that avatar: the renderer draws Seen as a miniature of the contact's photo, so with no photo uploaded there is nothing to draw and the indicator silently does not appear.

Step by step

1. Open the template

Go to mockclip.com/app/instagram-dm. The page opens on Describe it, the AI panel: type what should happen in the thread and it writes the whole clip — messages, names, status, delays, typing, reactions — then hands it to the manual editor. Describe it needs a Google or GitHub sign-in; the manual editor does not. The toggle above the panel switches between them and remembers your choice in that browser.

Switch to the manual editor and press Play once before changing anything. The sample thread uses almost every control the template has, and fifteen seconds of watching it teaches the format faster than reading about it.

2. Set the contact name and status

The contact name is on screen for the entire clip. Patterns that carry weight:

  • A first name with an emoji — "jenna 🫶", "marco 💀"
  • A relationship instead of a name — "the ex", "my landlord", "situationship"
  • A parenthetical instruction — "do not reply", "brand (unpaid)"
  • A handle-style label — "notarealbrand"

The status line is a dropdown with six fixed values. Active now is the only one that also draws the green dot, and it is the right default: a thread where both people are present explains why messages arrive seconds apart. Pick "Active 2h ago" when you want the opposite — a reply arriving long after the message that earned it.

3. Add the messages

+ My Message adds a gradient bubble on the right; + Their Message adds a grey bubble on the left. Cards drag to reorder on desktop and have arrows on mobile.

Six to ten messages is the working range. Fewer than six rarely has room for a setup and a turn; more than ten pushes past thirty seconds, and the thread scrolls so far that the earliest bubbles are off screen by the end — the view stays pinned to the bottom as it fills.

4. Time the two sides differently

The two senders have genuinely different timing controls, and this is the part most people get wrong.

Their messages have Delay Before and Typing Duration. The typing dots show for the duration you set, then the bubble appears.

Your messages have Delay Before and an optional Show typing in input field with a Typing Speed in characters per second. With it on, your text types itself into the input bar — and if the keyboard is enabled, the keyboard slides up, the pressed key lights, and the predictive bar reads the word ahead. With it off, the bubble simply appears after the delay.

One quirk to plan around: on a their-message that has a Typing Duration, Delay Before is ignored. The typing dots start immediately and the message lands when they finish. If you want dead air before the dots appear, set Typing Duration to 0 and use Delay Before, or put the pause on the preceding message instead.

Three recipes cover most threads:

  • Rapid fire. Delay 0.2–0.3 s, typing 0.5–0.8 s. Reads as two people on their phones at the same time.
  • The hesitation. Typing 2.5–3 s before a two-word reply. The long dots and the short answer is the oldest joke in the format.
  • The cold shoulder. Delay 1.5–2 s on your reply, with typing off. The gap says more than the message does.

5. Add reactions where a reply would be wasted

Each message takes any combination of six reactions: heart, laugh, surprised, sad, angry and thumbs up. They are drawn as a rounded pill hanging off the bubble's bottom corner, and they fade in after a Reaction Delay you set per message.

A reaction is the cheapest possible response. A 😮 on a confession replaces a three-line reply and costs half a second of runtime. Set the delay to 0.5–1 s: instant looks automated, and two seconds or more reads as someone deciding how to react, which is its own beat.

6. Turn on Seen where the silence is the point

Show "Seen" on one of your messages draws a small circle of the contact's avatar underneath it, after a Seen Delay. It is the Instagram equivalent of a read receipt, and it does one job extremely well: it proves the other person saw the message and chose not to answer.

Put it on the last message of a thread that ends with no reply. Remember it needs a contact avatar uploaded, or nothing is drawn.

Another clip from the same template, with the reaction pill and Seen avatar in play.

The Seen and reaction guide goes deeper on timing those two together.

7. Attach a photo or a video poster if the story needs one

Each message takes one image or one video. Both are uploaded as files and both land at the top of the bubble, blurred and dimmed until their reveal moment, then sharpening into place. A video upload is turned into a still of its opening frame, with a play button in the middle and the clip's length in a badge — the length is read from the file you uploaded, so it is real even though the playback is not.

Use the blur deliberately. A photo that sharpens one beat after the bubble lands buys you a moment of "what is it" that an instantly-sharp image does not.

8. Frame it, then export

Show iPhone Bezel draws the phone around the screen; with it on you can also tick 1:1 Cropped (Square) for a square framing. Turn the bezel off and you get the aspect-ratio picker — 9:16 (540×960), iPhone (393×852), 3:2 (720×480) and 1:1 (413×413) — plus status-bar and home-indicator toggles.

Then pick Export Format — MP4, GIF, MOV · ProRes 4444, or WebM · VP9 — and Quality: 720p or Full HD at 15, 24, 30 or 60 fps. 720p at 30 fps is the default and is right for a phone feed. Full HD takes up to four times as long to encode and 60 fps about twice as long as 30. The render happens in your own tab, and it runs several times faster in Chrome or Edge than in Firefox.

Sound Effects is on by default and bakes Instagram's send, receive, typing and reaction sounds into the file. Switch it off if you are going to lay a trending sound over the clip, and note that GIF carries no audio at all — the format cannot hold it.

Exports carry a watermark unless your plan removes it; see pricing for which plans do. Full detail on formats and ratios is in the export settings guide.

Free in the browser. No account needed for the manual editor.

Open the Instagram DM template

Writing patterns worth stealing

The brand negotiation. A recognisable-sounding account opens with an offer of "exposure". Your side replies with an invoice. The comedy is in the gap between the two bubbles, so give their reply a long typing duration and never let them answer the invoice — end on Seen.

The terrible opener. One line from them, one devastating line from you, then a reaction on their bubble instead of a third message. Four beats, under twelve seconds, and it loops cleanly.

The resurfacing friend. Three warm messages, then the ask. Keep the delays short for the warm-up and put a 2 s delay before the ask, so the pacing itself signals that something changed.

The wrong thread. They send something clearly meant for someone else, then realise. Give the realisation message the longest typing duration in the clip — they are typing while still unaware.

The one-sided thread. Three of your messages in a row, each with Seen turned on, no reply. The Seen avatars stacking up under unanswered bubbles is the whole story.

The double perspective. Build the thread, export it, then swap every sender and export again. Two clips, one script, and a natural part-one/part-two post.

For angles aimed specifically at Reels, see Instagram DM video ideas for Reels. For the marketing side of the format, see Instagram DM video for influencer marketing.

Getting the realism right

Match typing time to message length. A one-word reply after three seconds of dots is a joke; a forty-character message after 0.3 s is a bug. Roughly a second per six or seven words reads as human.

Vary the gaps. Real threads are lumpy — two instant replies, then a pause. A clip where every delay is 0.5 s reads as a machine stepping through a list.

Use the keyboard on your side. Watching text type itself into the input bar, with the keys lighting up, is the single cheapest realism win in the template. Leave it on unless the keyboard is covering something you need visible.

Keep the thread short enough to stay on screen. The view pins to the bottom, so a long thread pushes its own opening off the top. If the first bubble matters at the end, cut messages.

Write bubbles, not sentences. Short lines, lowercase, no terminal punctuation. A grammatically perfect DM is the fastest tell that it was written rather than sent.

The wider list of tells and their fixes is in why fake chat videos look fake.

Troubleshooting

The Seen avatar never shows. No contact avatar is uploaded. The indicator is drawn as a miniature of that photo, so it needs one.

Delay Before does nothing on their message. It has a Typing Duration, which takes over the wait. Set the typing duration to 0 if you want a plain delay, or move the pause to the message before it.

The typed text never appears in the input bar. Show typing in input field is only available on your own messages, and it needs message content to type. A their-message gets the dots instead.

The keyboard covers the last bubble. The keyboard lifts the input bar and eats the bottom of the thread while it is up. Turn it off for that clip, or shorten the thread so the payoff is higher on the screen.

The video attachment does not play. It never does. The template draws a still of the opening frame with a play button; if you need real playback, composite the clip in your editor over the exported frame.

The GIF has no sound. GIF cannot carry audio. Export MP4, MOV or WebM if the chime matters.

The export is slow. Drop to 720p and 30 fps, and use Chrome or Edge. Full HD and 60 fps each multiply the encode time.

A long message looks clipped in the input bar. The field shows the last lines of what has been typed, not the whole thing. That is how a real input behaves; if it reads as a bug, shorten the message.

How this compares to the alternatives

  • Screenshot generators output a PNG. Fine for a thumbnail, useless as an opener — the typing dots and the one-at-a-time reveal are the reason the format holds attention.
  • Screen-recording a real DM gives perfect fidelity and no script control: the other person has to actually type, actually react, actually read.
  • A general video editor can animate bubbles from scratch. Total control, and an hour of keyframing per clip.
  • A dedicated template trades that control for a few minutes of work and a screen that already matches the app.

For the category view, see best fake text message video makers, and for head-to-heads, MockClip vs CapCut and MockClip vs Crayo.

Quick start

  1. Open mockclip.com/app/instagram-dm and switch to the manual editor
  2. Set a contact name that states the relationship, and upload a contact avatar
  3. Write six to ten messages, alternating sides
  4. Give their messages typing durations that match their length; turn on typed-input on yours
  5. Put a reaction where a reply would be wasted, and Seen on the last unanswered message
  6. Press Play, adjust the delays, then Export as MP4

The full template index has the equivalent guides for the other eleven apps.

Related guides

Frequently Asked Questions

What is a fake Instagram DM generator?

A tool that draws the Instagram direct-message screen — header, gradient sent bubbles, grey received bubbles, typing dots, reactions — and animates a conversation you script, then writes the result to a video file. Nothing is sent and no Instagram account is involved; the UI is redrawn from scratch in your browser.

Is MockClip's Instagram DM template free?

The template at mockclip.com/app/instagram-dm runs in the browser and the manual editor needs no account. Exports carry a watermark unless your plan removes it — the pricing page lists which plans do. The AI Describe it panel is the one part that needs a sign-in.

Can I upload a profile picture for the contact?

Yes, one avatar for the whole thread — it appears in the header and is reused as the small Seen avatar under your messages. There is no per-message avatar, and no avatar for your own side of the conversation. Without an uploaded avatar the header shows a grey silhouette and the Seen indicator cannot be drawn.

Can I add photos or videos to the conversation?

Yes. Each message takes one image or one video attachment, drawn at the top of the bubble and blurred until its reveal moment. A video attachment is a still of its opening frame with a play button and the clip's length in the corner — the video never plays, because the export is a redrawn canvas rather than an embedded player.

Which reactions can I put on a message?

Six: heart, laugh, surprised, sad, angry and thumbs up. They are drawn as a rounded pill on the bottom corner of the bubble and fade in after a delay you set per message. There are no stickers, GIFs or custom-emoji reactions.

What formats and resolutions does it export?

MP4, GIF, MOV (ProRes 4444) and WebM (VP9), at 720p or Full HD and 15, 24, 30 or 60 fps. GIF carries no audio, so switch Sound Effects off if you are exporting one. Exports run several times faster in Chrome or Edge than in Firefox.

How long should a fake DM video be?

Six to ten messages, which lands between fifteen and thirty seconds at normal pacing. Each message costs its delay plus its typing time plus half a second of settling, and the clip has a half-second lead-in and a one-second tail on top.

Is it legal to make fake Instagram DM videos?

Making clearly fictional DM clips for entertainment is legal in most places. Do not use the format to impersonate a real person, to defraud, or to harass, and caption the video as fictional or dramatized when it could otherwise mislead viewers.

Related Articles