SMS Link Generator — Clickable sms: Links for Mobile
An SMS link opens the native messaging app on a phone with a phone number and message body already filled in, so the recipient can send a text with a single tap. This is used for click-to-text call-to-action buttons on mobile websites, email campaigns, and QR codes for offline marketing. The format differs slightly between iOS and Android, and special characters in the message body must be percent-encoded to work correctly. This tool generates the correct sms: URI for both platforms, an HTML anchor tag ready to drop into any webpage, a plain text link for email, and a QR code that visitors can scan to open the message on their phone. It also runs a validation check on the phone number format, message length, and special character encoding, and shows a preview of how the link will appear when tapped on each platform.
Include country code for international compatibility (e.g. +1 for USA).
Frequently Asked Questions
What is an sms: link?
An sms: link is a URI that opens the native text messaging app on a mobile device with a phone number and optional message body pre-filled. The user can then send the message with a single tap. SMS links are used in mobile websites, email campaigns, and QR codes for click-to-text call-to-action buttons.
What is the correct sms: link format for iPhone and Android?
iOS uses sms:+15551234567&body=Hello with an ampersand separator. Android uses sms:+15551234567?body=Hello with a question mark. Both formats work on most modern devices. The iOS format with &body= is generally the most compatible choice for cross-platform use when targeting both iPhone and Android visitors.
Can I send a pre-filled text message from a website?
Yes. Add an anchor tag with an sms: href to your webpage. When a mobile visitor taps it, their messaging app opens with the number and message ready. On desktop computers this typically does nothing unless a messaging app is configured to handle the sms: scheme. Use a mobile detection check or display the link only in your mobile stylesheet if you do not want desktop users to see a non-functional link.
How do I create a click-to-text button for my website?
Copy the HTML output from this tool and paste it into your webpage. The anchor tag has the correct href attribute and link text already set. Style it with CSS to look like a button by adding padding, background colour, and border-radius. This is the most common implementation for customer support contact buttons on mobile landing pages.
Does an sms: link work on desktop computers?
Generally no. On most Windows and Linux desktops, clicking an sms: link does nothing because no application is registered to handle that URI scheme. On a Mac, iMessage handles sms: links if the user has iPhone paired for message forwarding. The QR code output from this tool is the most reliable way to bridge desktop visitors to mobile messaging, since they can scan it with their phone.
How do I encode special characters in an SMS link body?
The body parameter in an SMS URI must be URL-encoded. Spaces become %20, question marks become %3F, ampersands become %26, and so on. Most devices handle common characters without strict encoding, but for reliability — especially on Android — encode any non-alphanumeric character in the body text. This tool handles encoding automatically. If you are writing the URI by hand, use encodeURIComponent() in JavaScript or your language's URL encoding function.
Can I pre-fill the recipient in a WhatsApp link instead of SMS?
Yes. WhatsApp uses a different link scheme: https://wa.me/[phone]?text=[message]. Replace [phone] with the full international number without + or spaces (e.g., 15551234567), and [message] with URL-encoded text. The wa.me link works in browsers on both mobile and desktop and opens WhatsApp directly if installed. This is more reliable for WhatsApp targeting than the sms: URI scheme, which only opens the native SMS app.
What is the SMS character limit and how does encoding affect it?
A standard SMS uses GSM-7 encoding and allows 160 characters per message. Messages longer than 160 characters are split into segments of 153 characters each (7 characters are used for the concatenation header). If the message contains any character outside the GSM-7 character set — including most emojis and many Unicode characters — the encoding switches to UCS-2, which reduces the per-message limit to 70 characters (67 characters per segment for multi-part messages).
How It Works
An SMS link uses the sms: URI scheme, the same standard that tells your phone to open the Messages app when you tap a link. The phone number goes directly after the colon, and the body parameter carries pre-filled message text encoded as a URL query string. When someone taps the link on a mobile device, their native SMS app opens with the number and message already populated — one tap to send.
SMS URI Standard
The sms: and smsto: URI schemes are defined in RFC 5724. Modern iOS and Android both support the body parameter for pre-filling message text. The format sms:+15551234567?body=Hello%20World works across both platforms. Desktop browsers typically ignore sms: links or prompt the user to choose an app, so these links are most useful in mobile-first contexts like QR codes, mobile landing pages, and email newsletters viewed on phones.
Country Codes and Formatting
Always include the full international dialing code (the + prefix and country code) for SMS links shared publicly. A bare 10-digit US number works only when the sender's device is also on a US carrier. International format (+1 for US/Canada, +44 for UK, +61 for Australia) ensures the link works for anyone regardless of their country or carrier. Omitting the country code is the most common reason SMS links fail for international users.
When to Use This
Use SMS links on mobile landing pages to let customers text your business directly, on event pages to trigger RSVP messages, in QR codes printed on packaging or flyers to start a conversation, on click-to-text buttons in mobile email campaigns, or anywhere you want to reduce friction between a customer and a direct text conversation with your team.
More Free Tools
Alternating Caps Generator
Convert text to alternating caps (HeLlO WoRlD) with strict, random, or block modes. Includes case entropy stats.
Age Calculator
Calculate your exact age in years, months, and days plus days until your next birthday.
What Browser Am I Using?
Instantly see your browser name, version, operating system, screen size, and more.
Perspective Text Generator
Create 3D perspective text with a draggable vanishing point. Shows per-character projection math. Download as PNG.