Instagram DM Script Generator

Pick a scenario and a tone, fill in three details, and get a DM script written by hand, counted live in both characters and bytes against Instagram's 1,000 cap.

Write your Instagram DM script

Everything counts toward the 1,000 limit: letters, spaces, line breaks, the whole link, and emoji. Meta documents the cap two ways, 1000 characters and 1,000 bytes, so the counter shows both. Templates are written by hand, nothing is stored, free.

What does a good Instagram DM script look like?

An Instagram DM script is a short reusable message written for one known moment in a conversation, built from three parts: context for why you are writing, one line of value, and one question. Every script has to fit a hard cap. Meta's Instagram messaging documentation states it as "Text message must be less than 1000 characters" (fetched 2 August 2026).

The closing question is not decoration. Meta documents a 24-hour standard messaging window: "Your app has 24 hours to respond to any message sent from an Instagram user to your app user". A reply restarts that clock, so a script that earns one keeps the conversation open.

How this generator works

  1. Pick the moment. Choose one of six scenarios, from a comment trigger reply to re-engaging a lead who went quiet.
  2. Set the tone. Friendly, direct or expert changes the wording, never the structure or the closing question.
  3. Fill three details. Their name, what you offer and an optional link, then copy the script with its live count.

How the script is built

The three-part opener

Context (why you are writing) + Value (what you have, in one line) + One question (the only ask)

Example:

Comment trigger, friendly tone, offer a free 30-day content plan: "Hi {first_name}, you commented on my last post, so here it is. A free 30-day content plan is yours, no strings attached. Before I send it, what are you posting about at the moment?" That is 180 characters, 180 bytes of the 1,000 available.

Every anchoring fact here carries one of three labels: Meta's documentation with its fetch date, one published Inrō case study, or a craft judgement stated as craft. No reply-rate percentage appears here, because no primary source publishes one.

  • 1000 characters. Meta's Instagram Send a Message reference, Limitations: "Text message must be less than 1000 characters" (fetched 2 August 2026).
  • 1,000 bytes. The same page, Send a basic message: "Message text must be UTF-8 and be 1,000 bytes or less." The counter shows both, since an emoji costs four bytes and an accented letter two.
  • 24-hour window. Meta's Instagram messaging reference: "Your app has 24 hours to respond to any message sent from an Instagram user to your app user" (fetched 2 August 2026).
  • The closing question. Huang and colleagues, Journal of Personality and Social Psychology, 2017: people who ask more questions, particularly follow-up questions, are better liked.

Change the wording first: the structure holds, the sentences are yours to argue with.

Why a script beats improvising

  • It fits the cap. Every template lands well under Meta's documented 1,000 limit, and the counter flags the moment your edits push it over.
  • Every script ends in a question. A reply restarts Meta's 24-hour window, which is what lets an automation answer again without a special tag.
  • Placeholders survive the paste. The name field keeps {first_name} by default, so the script drops straight into an automation without a rewrite.
  • One real campaign, linked. Coach Aleksa Spasic sold three high-ticket offers from one DM campaign, with about 90% of appointments qualified.

What Meta actually documents about Instagram DMs

Template pages rank on this query without stating a single platform rule. Here is every rule that shapes what a script can say, in Meta's own words, fetched 2 August 2026:

RuleDocumented valueMeta's wordingWhere
Text length, stated as charactersUnder 1000 characters"Text message must be less than 1000 characters"Send a Message, Limitations
Text length, stated as bytes1,000 bytes of UTF-8"Message text must be UTF-8 and be 1,000 bytes or less."Send a Message, Send a basic message
Standard messaging window24 hours from their message"Your app has 24 hours to respond to any message sent from an Instagram user to your app user"Instagram API with Instagram Login
Selling inside the windowAllowed"Messages sent within the 24-hour window may contain promotional content."Messenger Platform policy
Replying after the windowUp to 7 days, by a human"a Human Agent tag that allows businesses to manually respond to user messages within a 7-day period"Messenger Platform policy
Saying it is automatedRequired"automated chat experiences must disclose that a person is interacting with an automated service"Messenger Platform policy
Reply rate for a good scriptNot documentedMeta publishes no DM reply-rate benchmark, so neither do weNone exists

The first two rows contradict each other on the same Meta page, which is why the generator counts characters and bytes side by side: plain text spends one byte per letter, an accented letter two, an emoji four.

Handling DMs by hand vs automating with Inrō

Manual DM management

Just answering as fast as you can
Warmest leads go cold before you reply
Miss everything while you're offline
No lead capture or CRM tagging
Engagement rarely turns into sales

Inrō automation

Instant replies + lead capture
Auto-reply to every comment in seconds
Works 24/7, never miss a follower
Every lead tagged in Smart Inbox & CRM
Turns engagement into booked revenue
Start free with Inrō

Four rules for a DM script

  1. End on one question. Huang and colleagues found in 2017 that people who ask more questions, especially follow-up questions, are better liked.
  2. Count bytes, not just characters. An emoji costs four bytes against Meta's 1,000 byte limit, so a short-looking message can still fail to send.
  3. Send the link second. Ask first, then send the link once they reply, since the reply restarts Meta's 24-hour window anyway.
  4. Say it is automated. Meta's platform policy requires automated chat experiences to disclose that a person is interacting with an automated service.

Three ways a DM script fails

Leading with the link

A link in the opener gives them somewhere to go instead of something to answer, and no reply means no window.

Counting characters only

Emoji cost four bytes each against Meta's 1,000 byte limit, so a message that looks short can still be rejected.

Sending it cold

These scripts assume the person acted first by commenting, replying or following; a cold blast to strangers is a different risk.

Which script to start with, by who you are

Creator

Creator

Use the story reply follow-up, since a story answer is already a conversation, so skip the introduction and ask what landed.

Coach

Coach

Qualify before you pitch; the qualification script asks what they tried and where it stalled, which is what a call needs.

E-commerce brand

E-commerce brand

Use the comment trigger reply and keep the offer noun short, since product names and links eat bytes fast.

Agency

Agency

Generate one script per client and keep the {first_name} placeholder, so the same copy loads into every account's automation.

A DM script is not a magic sentence. It is a message that fits the 1,000 limit Meta documents, says why you are writing, and ends on a question. The question earns the reply, and the reply keeps the conversation open.

Frequently asked questions

What should I say in a first Instagram DM?

Say why you are writing, then one line about what you have, then one question. That order matters: the reader decides in about a second whether this is a real message or a blast. Name the thing they actually did: they commented, they replied to a story, they followed you. Then give one line of value, not three. Then ask one question and stop. Leave the link out of the opener, because you can send it the moment they reply. Every template above follows that shape, and none runs past 240 characters, well inside the limit Meta documents.

How long can an Instagram DM be?

Meta's Instagram messaging documentation, fetched 2 August 2026, states the cap twice on the same page, and the two statements do not agree. Under Limitations it says text must be less than 1000 characters. Under Send a basic message it says message text must be UTF-8 and be 1,000 bytes or less. In plain English they are the same number: each letter, space and full stop costs one byte. They separate the moment you add anything else, since an accented letter costs two bytes and an emoji four. A 990 character message with five emoji is over the byte limit and under the character limit. The generator counts both and warns on whichever you reach first. Meta publishes no consumer page for the in-app limit, so the 1,000 figure quoted everywhere traces back to this documentation.

How do I write a DM that does not sound like a bot?

Three things give a message away, and none of them is the fact that software sent it. The first is a message with no reason to exist, with no reference to what the person just did, so it reads as a blast. The second is length, since nobody types a wall of text on a phone. The third is a message with no question in it, which tells the reader that no answer is expected. Fix those three and a short automated message reads like a person who was paying attention. One caveat: Meta's platform policy requires automated chat experiences to disclose that a person is interacting with an automated service. Sounding human is a writing goal, not permission to pretend.

Can I automate sending these scripts?

Yes, through Meta's official API for Instagram professional accounts, which is what Inrō runs on. The usual setup is a keyword trigger: someone comments a word on your post and the comment trigger script goes out in seconds. Paste the script, keep the {first_name} placeholder so the automation fills the name, and check the byte count before you save it. What you cannot do safely is automate through a tool that asks for your Instagram password and drives the app as if it were you; that is what gets accounts restricted. Meta also hands you a documented time budget: 24 hours to respond to a message a user sent, and the Human Agent tag stretches manual replies to 7 days.

Will I get banned for sending Instagram DMs?

The risk sits in who you message and how, not in the words. Every script here assumes the person acted first: they commented, replied to your story, or followed you. That makes your message a reply, and Meta's policy treats replies inside the 24-hour standard messaging window as normal business messaging that may even contain promotional content. Cold outreach to strangers carries different risk, and Instagram publishes no daily send number for it. Two things lower risk more than volume does: use a tool built on Meta's official API rather than one that logs in with your password, and disclose that the experience is automated, which Meta's policy requires anyway.

What is Instagram's 24-hour messaging window?

It is the period in which a business may reply through the API. Meta states it plainly: your app has 24 hours to respond to any message sent from an Instagram user to your app user. The clock starts on their message, not yours, and each new message from them starts a fresh 24 hours. Inside the window, Meta's policy says messages may contain promotional content, so you are allowed to sell. Outside it your options narrow, and the Human Agent tag lets a person reply manually within 7 days. This is the real reason the scripts above end in a question: a question makes an answer likely, an answer restarts the clock, and the clock is what an automation needs.

Are the reply rates on Instagram DM template pages real?

We audited six pages ranking for this query on 2 August 2026 and could not verify a single performance number. One publishes comment rates, email capture rates and booking rates across twelve industries, 36 figures in total, with no source of any kind. Two cite a third blog for an 80 to 100 percent DM open rate, and that blog states on its own page that Meta does not publish official benchmarks. Another cites a 32 percent response rate to a 2026 report it never links. The one page with a stated method, a vendor study of its own 828,000 conversations, is vendor data about that vendor's product. None of this makes DMs a weak channel. It means no independent benchmark exists yet, so measure your own and compare against that.

Should I put a link in the first DM?

Usually not in the opener. A link gives the reader somewhere to go instead of something to answer, and the answer is what you want first: it tells you whether this is a real lead, and Meta's 24-hour window restarts on their reply. So ask, then send. There is a clear exception: if someone commented a keyword to receive a file, sending it straight away is what they asked for, and holding it behind a question is irritating. The generator supports both: leave the link field empty for a pure opener, or fill it and the link arrives as its own line you can send second. The link counts toward the 1,000 limit in full, including the https part.

Is this generator free, and does it use AI?

It is free, there is no sign up, and nothing you type leaves your browser. It does not use AI. The scripts come from 18 templates written by hand, six scenarios in three tones, and the tool assembles the one you pick around your details. That was deliberate: a template you can read is a template you can argue with, and you can see exactly what changes when you switch tone. It also means the output is identical every time you pick the same options, which matters when you are pasting it into an automation. Inrō's AI agent, which does write replies on the fly, is a separate product behind the button on this page.

Kshitij Maheshwari
Chief of Staff

Kshitij runs the growth experiments and looks after client success from first trial to enterprise rollout at Inrō. The advice in these tools comes from funnels he has tested on real accounts, and from the support tickets that follow when a setup goes wrong.

Last updated
August 2026
Category
Free

Join automations strategies and Instagram Insights weekly

Thank you! You have been susbcribed to our weekly insights!
Oops! Something went wrong while submitting the form.

By entering your email address above and clicking Subscribe, you consent to receive marketing communications (such as newsletters, blog posts, event invitations and new product updates), and targeted advertising from Inrō from time to time. You can unsubscribe from our marketing emails at anytime by clinking on the "Unsubscribe" link at the bottom of our emails. For more information about how we process personal information and what right you have on this respect, please see our Privacy Policy.

Try Inrō and put your Instagram DMs on autopilot

Attract more leads, reply in seconds, and turn engagement into sales, automatically.

Free plan available
Meta Tech Provider
Setup in 5 minutes