Write your Instagram DM script
How this generator works
- Pick the moment. Choose one of six scenarios, from a comment trigger reply to re-engaging a lead who went quiet.
- Set the tone. Friendly, direct or expert changes the wording, never the structure or the closing question.
- Fill three details. Their name, what you offer and an optional link, then copy the script with its live count.
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:
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
- End on one question. Huang and colleagues found in 2017 that people who ask more questions, especially follow-up questions, are better liked.
- 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.
- Send the link second. Ask first, then send the link once they reply, since the reply restarts Meta's 24-hour window anyway.
- 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.
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.
Send these scripts automatically
Paste a script into Inrō, set a keyword trigger, and every comment gets it in seconds on Meta's official API. The free plan covers 100 contacts and 3 automations.
Start for free
Trusted by 10,000+ creators and brands
, including Walmart & Yoyomatch

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 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.