SMS Pricing and Character Limits Explained for Business Users

Table of Contents

Ever looked at an SMS invoice and thought, “We only sent one text, so why did it cost more than one message?”

SMS pricing is simple at the surface and surprisingly detailed underneath. Cost changes by country. A single message can become two or three billable parts. One emoji can switch your message into Unicode and reduce your character limit. Links, personalisation, and compliance text all affect how many segments you pay for.

This guide will help you to:

  • Estimate SMS spend using parts, recipients, and destination pricing
  • Spot hidden segment triggers before you send a campaign
  • Plan templates with a clear “segment budget” for OTP, alerts, and marketing
  • Compare providers using the questions that reveal true total cost
  • Build a repeatable process your finance and marketing teams can trust

How SMS Pricing Works

Most business SMS fees come down to a short formula:

Total cost = price per SMS part × number of parts × number of recipients

Then you add any country-specific or programme fees that apply.

That is the core idea. The details are what catch teams off guard.

Per destination pricing is the starting point

SMS termination is priced differently depending on where you send the message. That is why SMS providers typically publish a country-by-country pricing table.

On SMS.to, pricing is shown by destination, and you can download prices for all countries. Note that with pay-as-you-go pricing, rates can change over time.

What this means for you:

  • A 10,000 recipient campaign can cost very different amounts depending on whether your list is mostly one country or spread across many.
  • Budgeting is easiest when you break your audience into country buckets before you estimate.

You are usually billed per SMS part, not per message you see on your phone

A common point of confusion is that users see one message on their phone, but billing is based on message parts.

With SMS.to, prices are calculated by part, and if a message becomes multi-part you are charged per part used.

So when you ask “what are SMS fees?,” a big part of the response is “how many parts did your text turn into?”

Sender type and route can change the final SMS price

Depending on the country and your use case, you may use:

  • an alphanumeric sender ID
  • a long number that can receive replies
  • a regulated sender format that requires registration

These choices can influence:

  • delivery outcomes
  • throughput
  • compliance steps
  • additional programme costs

Even if the per-SMS cost looks good on a pricing page, your real cost depends on whether your sender setup matches local rules and your message type.

Some markets add programme fees that sit outside per message pricing

If you send business messaging to the United States using long codes, you will often run into A2P registration and monthly campaign fees. Those are separate from the per-message fee.

The Campaign Registry’s published terms list fee items such as brand registration $4.50 for many entity types and an Authentication+ verification fee $12.50, along with campaign-related fees.

You do not need to memorise every fee. You do need to recognise that in some markets, the total cost includes:

  • one-time registration fees
  • recurring campaign fees
  • per message charges

That affects how founders, finance leads, and procurement teams forecast costs over a quarter.

SMS Character Limits and What They Mean for Your Budget

Business budgeting image for sms pricing blog

Character limits are not only a UX detail. They are a billing detail.

The standard SMS character limits you should know

SMS.to summarises the most important numbers:

  • 160 characters for a single SMS part in standard encoding
  • 70 characters for a single SMS part if Unicode is used
  • If you exceed those limits, your message becomes multi-part and you are charged per part

Those are the numbers most business users need.

Under the hood, the reason comes from how SMS payloads are structured. The SMS transport allows 140 bytes of user data, which translates to 160 GSM 7-bit characters or 70 UCS-2 characters. When a message is split and reassembled, a User Data Header is added and reduces the usable space.

GSM 7 bit and Unicode decide your character limit

Two key encodings drive the billing outcome:

GSM 7-bit (GSM-7)

  • Works for many Latin characters and common symbols
  • Gives you the familiar 160 character single-part limit

Unicode UCS-2

  • Needed for many non-Latin scripts, and often triggered by emojis and special characters
  • Drops your single-part limit to 70 characters

If your message contains any characters outside the 7-bit alphabet, UCS-2 is automatically used.

Practical implication: A message that is 120 characters long can still become multi-part if it switches to Unicode and crosses 70 characters.

Multipart SMS changes the per part limits

Once you cross the single-part limit, the available characters per part drop because the concatenation header takes space.

3GPP technical documentation gives the standard concatenation limits:

  • GSM 7-bit concatenated parts have 153 characters per part
  • UCS-2 concatenated parts have 67 characters per part

Here is a simple breakdown you can use for planning:

GSM-7 message part limits
  • 1 part: up to 160 characters
  • 2 parts: up to 306 characters (153 + 153)
  • 3 parts: up to 459 characters (153 × 3)
  • 4 parts: up to 612 characters (153 × 4)
Unicode message part limits
  • 1 part: up to 70 characters
  • 2 parts: up to 134 characters (67 + 67)
  • 3 parts: up to 201 characters (67 × 3)
  • 4 parts: up to 268 characters (67 × 4)

You can technically concatenate far more than 4 parts. The theoretical maximum is 255 concatenated parts, which is rarely practical for business messaging.

For business use, the more useful point is that every extra part increases SMS fees.

Examples That Show How SMS Pricing Changes

Below are kinds of scenarios that business teams run into.

To keep the maths readable, assume your price is $0.02 per SMS part for a given country. Your exact SMS price will vary by destination. Use the same method with your real per-country pricing.

Example 1: A shipping update that stays one part

Message

Your parcel is out for delivery today. Track it at https://example.com/track

If it is GSM-7 and under 160 characters, it is 1 part.

Cost

  • 10,000 recipients × 1 part × $0.02 = $200

This is what most people expect SMS cost to look like.

Example 2: One emoji triggers Unicode and doubles your bill

Message

Your parcel is out for delivery today ✅ Track it at https://example.com/track

That checkmark may shift encoding into Unicode, and now your single-part limit may be 70 characters. If your text is longer than 70 characters, it becomes multi-part.

Let’s say the message becomes 2 parts.

Cost

  • 10,000 recipients × 2 parts × $0.02 = $400

Same audience, same intent, different billing.

Example 3: Personalisation pushes you into a new part

Message template

Hi {first_name}, your appointment is confirmed for Friday at 3pm at Westlands Clinic. Reply 1 to confirm.

If your average first name length adds 5 to 10 characters, you can cross 160 and move into 2 parts for some recipients.

Cost impact

  • If 40% of your sends become 2 parts, your blended cost rises meaningfully, even though your dashboard still shows “one message” per recipient.

Example 4: Compliance text eats your budget quietly

Many teams add compliance language like “Reply STOP to opt out” or include unsubscribe text required by their workflow. If that pushes your marketing template over 160 characters, your SMS fees increase immediately because you are now paying per segment.

This is common in lifecycle messaging where teams keep adding details over time and never re-check segmentation.

(More examples at the end of this blog)

What Changes SMS Cost Besides Character Count

Segmenting is the biggest surprise. It is not the only one.

Destination and operator pricing differences

Your per message price varies by country and sometimes by operator route. That is why we provide per-country pricing tables and encourage you to share target countries and volumes when asking about discounts.

If you are planning a campaign, you will get a more accurate estimate by splitting your list into:

  • top five destination countries
  • “long tail” countries

Then estimate each group separately.

Message type and use case can influence routing outcomes

Operational messages like OTPs and delivery notifications are time-sensitive. Promotions often face more filtering pressure. Your provider may recommend different routes or sender setups based on use case.

From a cost standpoint, failed delivery also has a cost dimension. Some pricing models charge on send, some are tied to delivery outcomes for certain products. The important part is knowing what you are paying for.

Registration and programme costs in certain markets

If you operate in the United States, A2P messaging commonly involves registration and recurring campaign fees that sit alongside per-message charges. That’s like the $4.50 brand registration fee for all entity types (Government, Non-Profit, Private Profit, and Public Profit) listed by the Campaign Registry.

For founders and finance leads, this matters because:

  • you may pay setup costs in month one
  • recurring fees continue even if volume dips
  • the effective cost per message changes over time

How to Plan SMS Campaigns Without Cost Surprises

Let’s look at how you can save your budget:

Write templates with a hard segment budget

Pick a segment budget per message type:

  • OTP and security: aim for 1 part
  • operations and alerts: aim for 1 part
  • marketing: decide if 1 part is realistic, or budget for 2 parts intentionally

Then build templates to match.

Avoid accidental Unicode when you can

If your audience is primarily using Latin scripts and you do not need emojis, keep them out of templates. Unicode has real value for many languages, and you should use it when it improves clarity. The goal is to be intentional, not surprised.

SMS.to provides a Unicode checker tool that detects Unicode and counts parts while you compose.

Treat links as characters and plan for tracking

Links count toward your character limit. If you paste a long URL, you can easily push a message into a new segment.

SMS.to supports shortlinks that let you track click-through and can generate a unique shortlink per user, which helps attribution without forcing you to use long URLs.

If you are a marketing manager, that is a practical way to keep messages short while still measuring outcomes.

Check segmentation before you send

If you are sending via API, it helps to estimate message parts before you launch a full campaign. You can use SMS.to’s estimation API features before sending.

A strong workflow is:

  1. Draft template
  2. Run it through a character and encoding checker
  3. Estimate parts via API for your final message
  4. Approve budget based on expected parts
  5. Send

A Budgeting Worksheet Flow

Use this for campaign planning.

Step 1: List your destinations

Example:

  • Canada: 40%
  • UK: 30%
  • Germany: 20%
  • Other: 10%

Step 2: Pick one template and calculate parts

Create two versions:

  • GSM version without Unicode triggers
  • Unicode version if you need multilingual support or emojis

Step 3: Build a simple cost model

For each destination:

  • recipients × expected parts × price per part = destination cost

Then add any recurring programme fees relevant to your markets.

With SMS.to, all prices are per SMS part. Send us your volumes by country, and we’ll check what discounts you may qualify for through support@sms.to

What to Ask When Comparing SMS Providers on Pricing

When people search “sms pricing” or “sms cost,” they often stop at the price table. For procurement and founders, the better approach is to ask a few questions that reveal the real cost structure.

Ask:

How billing works for multipart messages

  • Are you billed per part?
  • Do you have a message parts estimate tool?
  • Do delivery receipts show parts used?

What is included in the posted SMS price

  • Is it only the provider fee?
  • Are carrier programme fees separate?
  • Are there monthly campaign fees in some countries?

How pricing changes with volume

  • Do you offer tiered pricing?
  • Do you offer discounts for high-volume routes?

Typical information to share when requesting discounted pricing includes target countries and expected monthly volume per country

What happens when rates change

Prices can change and continued use implies acceptance of updated rates. For finance teams, that makes it worth building a quarterly pricing review into your process if SMS is a big spend line.

Where This Fits in Business Messaging Strategy

SMS remains widely useful because it reaches phones across networks at global scale. ITU reports 9.2 billion mobile-cellular subscriptions in 2025, which equals 112 subscriptions per 100 inhabitants.

That reach is part of why SMS is still a core channel for operations and customer communications. The other part is that it is measurable and controllable when you plan for character limits and segment-based pricing.

How SMS.to Supports Cost Clarity

If your team cares about predictable SMS fees and fewer “surprise” invoices, the tools around pricing and segmentation matter as much as the send endpoint.

SMS.to provides:

  • per-destination pricing with downloadable country price lists
  • clear guidance that pricing is per SMS part
  • a Unicode checker tool that shows characters, parts, and Unicode detection in real time
  • an API estimation option you can use before sending
  • shortlinks with click tracking and optional unique links per user for attribution

If you are building a cost model for campaigns or ongoing operational messaging, those features make it easier to predict spend and keep message templates within your intended segment budget.

Extra Examples You Can Use for Budgeting

Let’s continue using the sample rate of $0.02 per SMS part for one destination. Your real sms price depends on the country, so swap in your own rate.

Example 1: One part OTP in GSM 7 bit

Message

Your SMS.to code is 482913. It expires in 5 minutes.
  • Characters: 52
  • Encoding: GSM 7 bit
  • Billable parts: 1

Cost for 50,000 verifications

  • 50,000 × 1 × $0.02 = $1,000

Example 2: Unicode OTP that becomes two parts

Message

رمز التحقق الخاص بك هو 482913. صالح لمدة 5 دقائق. إذا لم تطلبه فتجاهله.
  • Characters: 71
  • Encoding: Unicode
  • Unicode single-part limit is 70 characters, so this becomes multi-part
  • Billable parts: 2 (because concatenated Unicode parts carry fewer characters)

Cost for 50,000 verifications

  • 50,000 × 2 × $0.02 = $2,000

So your message can look short, but one extra sentence can push it over the Unicode limit and double your SMS fees.

Example 3: A marketing message that crosses 160 characters

Message

Hi Amina, 20% off today only on selected items. Use code SAVE20 at checkout. Shop now https://sms.to/deals Ends 23:59. Help sms.to/help Reply STOP to opt out. Now.
  • Characters: 163
  • Encoding: GSM 7 bit
  • GSM single-part limit is 160 characters
  • Billable parts: 2

Cost for 10,000 recipients

  • 10,000 × 2 × $0.02 = $400

Your opt-out line and help line are valuable, but they can push you into a second segment. Build templates with a segment budget.

Example 4: Long link versus short link

Version A: long link

Message

Track your order https://example.com/orders/784233?utm_source=sms&utm_medium=campaign&utm_campaign=december_flash_sale
  • Characters: 118
  • Likely parts: 1 in GSM

This one still fits in one part, but it eats most of your space. If you add a customer name, delivery window, or opt-out line, you can cross 160 fast.

Version B: short link

Message

Track your order https://s.to/7hK2p
  • Characters: 35
  • Likely parts: 1

Short links are not only about tracking. They are a simple way to keep messages inside one part.

Example 5: Personalisation that makes only some recipients cost more

Template

Hi {first_name}, your delivery is confirmed for Friday 3pm. Reply 1 to confirm or 2 to reschedule.

Assume

  • Most names keep the message under 160 characters, so 1 part
  • A portion of long names pushes it over 160, so 2 parts for that group

Example distribution for 100,000 recipients

  • 85% at 1 part → 85,000 parts
  • 15% at 2 parts → 30,000 parts
  • Total parts billed → 115,000

Cost

  • 115,000 × $0.02 = $2,300

If everything stayed 1 part

  • 100,000 × $0.02 = $2,000

Your campaign can look “normal” in a dashboard while your blended sms cost creeps upward because only a subset becomes multi-part.

Example 6: Operations alert with clear replies that still stays one part

Message

Package 784233 is delayed. New ETA 18:30. Reply 1 to confirm delivery today or 2 to reschedule.
  • Characters: 95
  • Encoding: GSM 7 bit
  • Billable parts: 1

Cost for 25,000 alerts

  • 25,000 × 1 × $0.02 = $500

Clear, action-focused operations messages can stay within one segment without cutting key information.

author avatar
Frederik

More Articles

When you add phone verification or 2FA to your product, you are buying more than

Ever looked at an SMS invoice and thought, “We only sent one text, so why