Help and guidance for How to Create SMS Hyperlinks with Pre-filled Messages.
Learn how to create clickable SMS links that open your customer's messaging app with a pre-filled message, making it easier for them to contact you.
An SMS hyperlink (also called an SMS link or text message link) is a special type of link that, when clicked on a mobile device, opens the user's default messaging app with:
This makes it incredibly easy for your customers to reach you—they just click and send!
The basic format for an SMS link is:
sms:PHONE_NUMBER?body=YOUR_MESSAGE| Component | Description | Example |
|---|---|---|
| sms: | The protocol that tells the device to open the messaging app | sms: |
| PHONE_NUMBER | The phone number to send the message to (include country code) | +15551234567 |
| ?body= | Separator that indicates a pre-filled message follows | ?body= |
| YOUR_MESSAGE | The pre-filled message text (URL encoded) | Hi%20I%20want%20to%20learn%20more |
sms:+15551234567This opens the messaging app with just the phone number filled in.
sms:+15551234567?body=Hi!%20I%20found%20you%20on%20your%20website%20and%20would%20like%20to%20learn%20more.This opens the messaging app with:
When creating your pre-filled message, replace these characters:
| Character | URL Encoded |
|---|---|
| Space | %20 |
| ! | %21 |
| # | %23 |
| $ | %24 |
| & | %26 |
| ' | %27 |
| ( | %28 |
| ) | %29 |
| * | %2A |
| + | %2B |
| , | %2C |
| / | %2F |
| : | %3A |
| ; | %3B |
| = | %3D |
| ? | %3F |
| @ | %40 |
| New line | %0A |
Use a standard anchor tag with the sms: protocol in the href attribute:
<a href="sms:+15551234567?body=Hi!%20I%20want%20to%20learn%20more%20about%20your%20services.">Text Us Now</a>With a button style:
<a href="sms:+15551234567?body=Hi!%20I%20want%20to%20learn%20more." style="display: inline-block; padding: 12px 24px; background-color: #007bff; color: white; text-decoration: none; border-radius: 5px;">Text Us Now</a>In React, you can create a reusable SMS link component:
function SmsButton({ phoneNumber, message, children }) {
const encodedMessage = encodeURIComponent(message);
const smsLink = `sms:${phoneNumber}?body=${encodedMessage}`;
return (
<a href={smsLink}>
{children}
</a>
);
}
// Usage:
<SmsButton
phoneNumber="+15551234567"
message="Hi! I found you on your website."
>
Text Us Now
</SmsButton>sms:+15551234567?body=Hi!%20I%20found%20you%20on%20Wix%20and%20want%20to%20connect.In Funnels/Websites:
sms:+15551234567?body=Hi!%20I%27m%20interested%20in%20your%20services.In Emails/SMS Templates:
You can include the SMS link as a clickable link:
<a href="sms:+15551234567?body=Hi!%20I%20want%20to%20chat.">Click here to text us</a>Using the Block Editor (Gutenberg):
sms:+15551234567?body=Hi!%20I%20found%20you%20on%20WordPress.Using Classic Editor:
Using HTML (in any editor):
Switch to HTML/Code view and add:
<a href="sms:+15551234567?body=Hi!%20I%20want%20to%20learn%20more.">Text Us</a>sms:+15551234567?body=Hi!%20I%20found%20you%20on%20Squarespace.In Theme Editor:
In Product Descriptions or Pages:
Switch to HTML view and add:
<a href="sms:+15551234567?body=Hi!%20I%20have%20a%20question%20about%20your%20products.">Text us your questions</a>sms:+15551234567?body=Hi!%20I%20want%20to%20connect.sms:+15551234567?body=Hi!%20I%20found%20you%20on%20Kajabi.sms:+15551234567?body=Hi!%20I%20want%20to%20learn%20more.| Device | Format |
|---|---|
| iOS (iPhone) | sms:+15551234567&body=Message (uses &) |
| Android | sms:+15551234567?body=Message (uses ?) |
| Universal | sms:+15551234567?&body=Message (uses ?&) |
For maximum compatibility, use the universal format:
sms:+15551234567?&body=Your%20message%20hereThis format works on both iOS and Android devices.
Always include the country code (e.g., +1 for US/Canada) to ensure the link works for all users.
Pre-filled messages should be concise. Users may want to add their own text.
Always test your SMS links on both iPhone and Android before publishing.
Use button text that clearly indicates what will happen: "Text Us Now", "Send SMS", "Message Us"
SMS links typically only work on mobile. Consider showing a phone number for desktop users or using a QR code.
Solution: Try using &body= instead of ?body= or use the universal format ?&body=
Solution: Make sure you're using ?body= format
Solution: Make sure all special characters in your message are URL encoded. Use an online encoder tool.
Solution: Check that there are no spaces in your URL-encoded message. Spaces should be %20, not actual spaces.
Solution: Ensure you're using the full phone number with country code and no spaces or special characters (except the + at the beginning).
sms:+15551234567?&body=Hi!%20I%27m%20interested%20in%20scheduling%20a%20property%20viewing.%20Please%20let%20me%20know%20your%20availability.sms:+15551234567?&body=Hi!%20I%20have%20a%20question%20about%20my%20order.%20My%20order%20number%20is%3A%20sms:+15551234567?&body=Hi!%20I%27d%20like%20to%20schedule%20an%20appointment.%20Please%20send%20me%20your%20available%20times.sms:+15551234567?&body=Hi!%20I%27d%20like%20to%20make%20a%20reservation%20for%20%5Bnumber%5D%20people%20on%20%5Bdate%5D.If you have any questions about setting up SMS links for your Bloo account, our support team is here to help!