SMS Link: Build a "Text Us" Button

Guide

Back to the blog
L'équipe Envoyer SMS Gratuit7 November 202612 min read
Filed underGuide

Short answer: an SMS link is written sms:+33612345678 and can carry a ready-made message with ?&body=: sms:+33612345678?&body=Hello%2C%20I%27d%20like%20a%20quote. Placed on a website button, in an email signature or behind a QR code, it opens the phone's messaging app with the number and the text pre-filled. Sending, however, always remains up to the recipient: nothing goes out on its own.

It is one of the few elements of a website that still works better on mobile than on a computer, and almost nobody uses it. A tradesperson who puts a "Text us" button on their contact page gets enquiries from people who would never have filled in an eight-field form. A practice that prints a "Let us know you're running late" QR code on its door avoids three phone calls a morning.

The problem is that SMS link syntax was never truly standardised in the same way by Apple and by Google. Hence contact pages where the pre-filled text vanishes on iPhone, QR codes that open an empty message, and numbers a foreign phone cannot interpret. This article gives the form that works in both worlds, the concrete use cases, and the list of things to test before publishing.

Woman texting on her smartphone in front of an open laptop, with a cup of tea

What exactly is an SMS link?

It is a URL using the sms: scheme instead of https:. When you tap it on a phone, the system opens the default messaging app with the recipient already filled in — exactly the way mailto: opens your mail software.

The sms scheme is registered with IANA and described in the IETF's RFC 5724, which defines URIs for mobile messaging services. That RFC covers the target (sms:number) and a body parameter for the message text.

In real life, three variants circulate:

FormObserved compatibilityNote
sms:+33612345678iOS, Android, most mobile browsersThe safest: number only
sms:+33612345678?&body=TextiOS and AndroidThe recommended form for pre-filled text
sms:+33612345678?body=TextReliable on Android, temperamental on iOS depending on the versionThe & before body fixes most cases
smsto:+33612345678:TextMainly QR code readersOld Nokia syntax, still recognised by some scanners

The oddity of ?&body= comes from legacy iOS behaviour: some versions expected a separator before the first parameter. Adding the ampersand breaks nothing on Android, so you may as well write it everywhere. It is the version found in virtually all serious technical documentation.

Do you need a number, and which one?

Always in international format, with no spaces, no dots, no brackets: +33612345678. Not 06 12 34 56 78.

The French numbering plan is published by Arcep, the national telecoms regulator: a mainland France mobile number starts with 06 or 07, and is written internationally as +336… or +337… (the leading 0 disappears). A visitor whose phone is set to another country will not know what to do with 0612…; with +336…, it works from anywhere.

You can also omit the number and keep only the text: sms:?&body=Text. The message opens pre-filled, and the user picks the recipient themselves. That is the useful form for a "Share by text" button.

How do you pre-fill the text without breaking the link?

By encoding special characters. In a URL, a space becomes %20, a comma %2C, a line break %0A, a question mark %3F and an ampersand %26.

This is the most common mistake: you paste in a sentence with accents, apostrophes and an &, and the link cuts off halfway through. Here is a complete example for an appointment-booking button:

sms:+33612345678?&body=Hello%2C%20I%27d%20like%20an%20appointment.%20My%20name%20is%3A%20

What shows up in the messaging app:

Hello, I'd like an appointment. My name is:

The cursor lands at the end, the person fills in the rest and sends. Three practical remarks:

  • Leave the message unfinished. A fully written text feels like an automated form and many users delete it. A sentence waiting to be completed almost always gets finished.
  • Keep it short. Some mobile browsers truncate long URLs, and the pre-filled text counts towards the length of the text message. Under 120 characters, you leave room for the actual reply.
  • Watch out for accents and emoji. Characters outside the basic Latin alphabet travel better once encoded, and a single emoji in the pre-filled text pushes the whole message into UCS-2: the limit drops from 160 to 70 characters. The topic is covered in detail in our article on the 160-character limit, and the site's SMS character counter lets you check the result before publishing.

To generate a properly encoded link without writing the code by hand, the SMS link generator does the job: number, text, and out comes a URL ready to paste.

Where should you put an SMS link for it to be genuinely useful?

Anywhere the reader is already on their phone. Elsewhere, an sms: link on a desktop computer often does nothing at all — or opens an unconfigured messaging app.

On a contact page

A button next to the phone number, with an explicit label: "Text us" rather than just "SMS". The HTML fits on one line:

<a href="sms:+33612345678?&body=Hello%2C%20">Text us</a>

Remember to keep the number visible as readable text alongside it: a visitor on a computer needs to be able to copy it. And add a rel or a clear aria-label attribute if the button's label is an icon on its own, for people browsing with a screen reader.

In an email signature

Same link, behind the wording "Reply by text". This works especially well for appointment confirmations: the person reads the email on their phone, taps the link, replies "ok" in two seconds. Far more replies than "please confirm by return email".

Behind a printed QR code

This is the most underrated use. A QR code containing sms:+33612345678?&body=… opens the pre-filled message straight after the scan. Real-world cases seen in practice:

  • waiting-room poster: "Let us know you're running late";
  • closed shopfront: "Request a callback";
  • label on a piece of broken equipment, in a shared building or a facility: "Report a fault, machine no. 4" — with the machine number already in the pre-filled text, the manager immediately knows what you are talking about;
  • business card: "Send me your details".

If you print, print big and test on paper: a QR code under 2 cm across with a long URL becomes unreadable for the cameras on older models. A thermal label printer makes this job far tidier than hand-cut labels, and you can reprint as soon as the text changes.

White smartphone connected to a laptop by a blue adapter plugged into USB

On a printed document with no QR code

Here the link is useless: write the number out in plain, large digits, grouped in pairs. On a flyer or a poster read from two metres away, it is the number that counts, not the URL.

What limitations should you know about before publishing?

Three, and they explain almost every "it doesn't work for me" report.

1. Nothing is sent automatically. The link opens the messaging app, full stop. The user has to tap "send". That is by design: no browser lets a web page trigger the sending of a text message, for obvious billing and security reasons. Any page claiming otherwise deserves suspicion.

2. Behaviour on computers is unpredictable. On a Mac whose Messages app is linked to the iPhone (via "Text Message Forwarding" in Settings → Messages), an sms: link does open a conversation. On a PC with Phone Link — the app Microsoft renamed from "Your Phone" and then "Link to Windows" — the association of the sms: scheme is patchy depending on the Windows version and the phone model. On a machine with no messaging app configured at all, nothing happens. Never rely on the link alone: always display the number.

3. Pre-filled text is not guaranteed. Some alternative messaging apps ignore the body parameter. Opening the conversation, on the other hand, works almost every time. In other words: the link must stay useful even if the text disappears — so a correct recipient comes first.

How do you test an SMS link before putting it live?

In five minutes, on real hardware. The checklist:

  1. A recent iPhone, Safari. Check that the conversation opens and that the text appears in full, accents included.
  2. An Android phone, Chrome, with Google Messages. Same check. If the text is missing, it is almost always an encoding problem, not a syntax one.
  3. The QR code, if there is one, scanned with the native camera on both systems — not with a third-party scanning app, which your visitors will not have.
  4. The link on a computer, just to see what happens and make sure that a lack of reaction does not block anything else on the page.
  5. The length of the final message, with the pre-filled text plus a plausible reply, to avoid a pointless concatenated text message.

For this round of testing, keeping an old spare phone to hand saves you depending on a single device: an entry-level refurbished smartphone is more than enough to check how things render on Android. And if the test phone lives in a workshop or a toolbox, a rugged protective case will stop it ending up with a cracked screen after three weeks.

Bearded man in a parka and beanie, leaning against a wall, texting on his smartphone

SMS link or form: which should you choose?

Both, in different places. The SMS link wins on speed and response rate; the form wins as soon as you need attachments, written consent or a structured record.

CriterionSMS linkWeb form
Effort for the userTwo tapsSeveral fields
Works without a data connectionYes (the text goes over the GSM network)No
AttachmentsNo (except MMS, hit and miss)Yes
Record and archivingIn your phoneIn your tool
Expected replyVery fastVariable

One point that matters on the compliance side: receiving a text message from a prospect does not entitle you to contact them indefinitely for commercial purposes. The CNIL, France's data protection authority, points out that text-message marketing aimed at individuals requires prior consent, and that every marketing message must offer a simple way to opt out. Replying to an incoming enquiry is another matter — but the line must stay clear in your practices. If you send outbound messages in volume, the rules are set out in our guide to the appointment reminder text message.

What if I want to send, not receive?

The sms: link only exists to get other people writing. To start from a computer and send messages yourself, the methods are different: Google Messages for web, Phone Link on Windows, Messages on Mac, or an online service. The site compares them in its guides, and the blog covers the two most requested scenarios in detail: bulk sending from a PC and the scheduled text message.

Three mistakes that come up all the time

  • Writing the number with spaces. sms:06 12 34 56 78 breaks the URL in half of all browsers. International format, no gaps, no separators.
  • Putting an sms: link on a site with no visible alternative. A visitor on a computer sees a button that does nothing, and leaves. Number in plain text, always.
  • Forgetting to update the pre-filled text. A printed QR code reading "Report a fault, machine no. 4" outlives the relocation of machine no. 4. Note down where your links are printed — an A5 logbook sitting next to the printer is enough — and read through that list once a year.

Frequently asked questions

Can an SMS link send the message automatically?

No. The link opens the messaging app with the number and possibly the text, but the user has to confirm the send. No mobile browser allows a web page to trigger the sending of a text message on its own.

Why doesn't my pre-filled text show up on iPhone?

In the vast majority of cases, it is the syntax. Use ?&body= with the ampersand (not ?body=), and encode every special character: spaces as %20, commas as %2C, apostrophes and accented letters encoded too.

Can you put an SMS link in a QR code?

Yes. Simply encode the URL sms:+33612345678?&body=… into the QR code. Some older scanners prefer the smsto:+33612345678:Text form; test with the native camera on an iPhone and on an Android before printing.

What is the maximum length for the pre-filled text?

Technically, the limit comes from the URL length a browser accepts, not from the text message. In practice, stay under 120 characters: the pre-filled text adds to the user's reply, and a GSM-7 message splits into several texts beyond 160 characters.

Does an SMS link work from a computer?

Not reliably. It works on a Mac whose Messages app is linked to an iPhone, patchily on Windows with Phone Link, and not at all on a machine with no associated messaging app. Always display the number as readable text next to the button.


Updated 7 November 2026. The behaviours described for iOS, Android and Windows may change with system updates: retest your links after any major version change.

Free SMS · No sign-up · To France

Ready to send your free SMS?

One hundred percent free, no sign-up, no ads and no limits. Write your message, enter the mobile number, confirm: it's sent in seconds.

Send a free SMS