Skip to main content
OneSignal SMS lets you send SMS and MMS messages from the dashboard, Journeys, or the API. SMS is commonly used for time-sensitive transactional alerts, marketing campaigns, OTP verification, and multi-channel automation. For rich messaging with interactive elements, see RCS messaging.
To comply with U.S. carrier regulations, proper consent and registration (e.g., 10DLC or toll-free) are required before sending SMS or MMS messages. See SMS registration requirements.
  • Send marketing and transactional messages from the dashboard or via the API
  • Create automated multi-channel flows with Journeys
  • Target users precisely using segments, filters, or user data
  • Personalize content with user attributes and dynamic content
  • Integrate with CRMs and tools like HubSpot, Mixpanel, Amplitude, Zapier, and more

SMS setup

Before sending SMS, complete setup and carrier registration. See which countries are supported.

SMS opt-in

Users must explicitly consent to receive SMS messages. Collect and manage opt-in status before sending.

Features and use cases

OneSignal SMS supports personalization, localization, and transactional messaging out of the box.

Analytics

Track SMS delivery, engagement, and costs:

Send SMS and MMS

Send messages from the dashboard, automate them with Journeys, or trigger them programmatically via the API.

Send from the dashboard

Select the message channel

Select Create… then choose your message channel. You can also navigate to Messages or Templates to view previous messages.
OneSignal dashboard showing create message options

Choose a composition method

  • Start from scratch
  • Use a pre-built template

Set a name and label

Add internal metadata for tracking and reporting. API equivalent: name

Select your audience

Choose which users receive the message. You can include and exclude segments to target specific groups. Defaults to all “Subscribed Users” if no segment is set.
Dashboard fields for message name, label, and audience segment selection
Targeting methodDashboardAPI
SegmentsYesYes
Filters (API only)NoYes
Aliases (API only)NoYes

Delivery schedule

OptionDescriptionAPI field
Send immediatelyDeliver to all recipients now.
ScheduledSend at a specific time, up to 30 days in advance.send_after
All text messages are subject to a throughput rate (e.g., 1 message per second) determined by your sender type. Contact support@onesignal.com if you need higher throughput.

SMS content and encoding

SMS supports plain text and emojis. Formatting like bold and italics is not supported.
Carrier pricing is based on the number of message segments. Segment count depends on your message length and character encoding. Messages with emojis or non-Latin characters use UCS-2 encoding, which significantly reduces the character limit per segment. Always review the estimated character and segment count in the OneSignal dashboard before sending.
EncodingCharacters per segmentUsed for
GSM-7Up to 160Basic Latin characters and symbols
UCS-2Up to 70Emojis and non-Latin scripts
OneSignal SMS composer showing a GSM-7 encoded message with segment count
OneSignal SMS composer showing a UCS-2 encoded message with segment count
SMS messages support clickable URLs, but space is limited — shortening links is essential. Do not use public URL shorteners like TinyURL or Bitly, as carriers often flag or block them. OneSignal provides a built-in URL shortener that generates carrier-safe, trackable links.

MMS media

You can include up to 10 media URLs per MMS, with a total size under 5 MB. Supported types: image/jpeg, image/gif, image/png, and other formats.
Twilio only supports MMS in the US, Canada, and Australia.
OneSignal MMS composer showing media attachment options

FAQ

Which countries does OneSignal SMS support?

OneSignal supports sending SMS to the following countries:
AmericasEuropeAsiaOceania
ArgentinaAustriaChinaAustralia
BrazilBelgiumHong KongNew Zealand
CanadaDenmarkIndia
ChileFinlandJapan
MexicoFranceMacao
PeruGermanyMalaysia
Puerto RicoIcelandPhilippines
United StatesIrelandSingapore
ItalySouth Korea
LuxembourgTaiwan
NetherlandsThailand
NorwayTurkey
PolandUnited Arab Emirates
Portugal
Spain
Sweden
Switzerland
United Kingdom
Additional countries require an upgraded security package. Contact our sales team for details.

What is the difference between SMS, MMS, and RCS?

SMS (Short Message Service) supports plain text messages up to 160 characters (GSM-7 encoding). MMS (Multimedia Messaging Service) supports images, GIFs, and longer text. RCS (Rich Communication Services) is a newer standard that supports richer media, read receipts, and interactive elements — availability depends on carrier and device support. See RCS messaging for details.

How does message segment pricing work?

Carriers charge per message segment, not per message. A standard SMS (GSM-7) allows 160 characters per segment. If your message exceeds that, it’s split into multiple segments — each billed separately. Using emojis or non-Latin characters switches to UCS-2 encoding, which allows only 70 characters per segment.

Why are my SMS messages being blocked by carriers?

Common causes include missing 10DLC or toll-free registration, using public URL shorteners (Bitly, TinyURL), sending without proper user consent, or exceeding throughput limits. See SMS registration requirements for compliance details.

How do I test SMS before sending to my audience?

Send a test message to your own phone number first. In the dashboard, use the Send test message option to verify content, encoding, link tracking, and segment count before sending to your full audience.