Twilio Global SMS &
10DLC Carrier Surcharge Calculator
Calculate the 70-character emoji tax, US carrier pass-through fees (Verizon, AT&T, T-Mobile), and wholesale SMS arbitrage vs Bird and AWS SNS.
Monthly SMS Volume by Region
Global CPaaS Arbitrage
Twilio vs Bird vs AWS SNS Outbound SMS Rates (2026)
| Country / Region | Twilio (all-in) | Bird (MessageBird) | AWS SNS | Sinch | Best Option |
|---|---|---|---|---|---|
| United States (10DLC) | $0.0109 / SMS | $0.0100 / SMS | $0.00645 / SMS | $0.0095 / SMS | AWS SNS |
| Canada | $0.0074 | $0.0060 | $0.00580 | $0.0065 | AWS SNS / Sinch |
| United Kingdom | $0.0400 | $0.0280 | $0.0350 | $0.0290 | Bird |
| Germany | $0.0750 | $0.0520 | $0.0620 | $0.0580 | Bird |
| France | $0.0650 | $0.0450 | $0.0540 | $0.0480 | Bird |
| India (International) | $0.0450 | $0.0220 | $0.0280 | $0.0250 | Bird or local provider |
| India (via MSG91/local) | N/A | N/A | N/A | N/A | $0.004–0.006 domestic |
| Brazil | $0.0720 | $0.0510 | $0.0600 | $0.0540 | Bird |
| Australia | $0.0530 | $0.0380 | $0.0450 | $0.0410 | Bird |
| Japan | $0.0850 | $0.0620 | $0.0700 | $0.0650 | Bird |
Twilio SMS Pricing Common Questions
How much does Twilio charge per SMS in the US?
What are Twilio 10DLC surcharges and how do I minimize them?
Is Bird (MessageBird) cheaper than Twilio?
What is the cheapest way to send OTP verification SMS in India?
Is WhatsApp OTP cheaper than SMS OTP?
Twilio Global SMS Architecture: GSM-7 Segmentation, Carrier Surcharges & 10DLC TCO
Estimating SMS delivery expenses with Twilio requires accounting for three distinct compounding cost variables: base message dispatch fees ($0.0079 per segment in the US), US carrier pass-through surcharges ($0.003 to $0.005 per segment across AT&T, Verizon, and T-Mobile), and A2P 10DLC campaign registration fees ($15/month brand/campaign vetting). Most critically, encoding a single emoji or special character forces the message encoding from standard GSM-7 (160 characters/segment) to UCS-2 (70 characters/segment), instantly tripling message dispatch bills.
| Destination Country | Base Twilio Rate / Segment | Avg Carrier Surcharges | Total Cost / Segment | Cost per 50,000 Messages |
|---|---|---|---|---|
| United States (10DLC Registered) | $0.0079 | $0.0035 (AT&T/Verizon) | $0.0114 | $570.00 + $15 campaign |
| United Kingdom (+44) | $0.0410 | $0.0000 | $0.0410 | $2,050.00 |
| Germany (+49) | $0.0980 | $0.0000 | $0.0980 | $4,900.00 |
Production Pipeline: SMS Character Sanitizer & Segment Counter in TypeScript
This utility strips non-GSM-7 characters and warns developers when a notification template risks triggering multi-segment bill multiplication:
// Regular expression matching standard GSM 7-bit character set
const GSM7_REGEX = /^[@£$¥èéùìòÇ
Øø
ÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !"#¤%&'()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà]*$/;
export function analyzeSmsPayload(body: string) {
const isGsm7 = GSM7_REGEX.test(body);
const charLength = body.length;
let segmentSize = isGsm7 ? 160 : 70;
let concatenatedSize = isGsm7 ? 153 : 67; // UDH header overhead on multi-part SMS
let segments = 1;
if (charLength > segmentSize) {
segments = Math.ceil(charLength / concatenatedSize);
}
return {
isGsm7,
encoding: isGsm7 ? 'GSM-7' : 'UCS-2 (Unicode)',
charLength,
segments,
estimatedCostMultiplier: segments * (isGsm7 ? 1 : 1)
};
}
Production Best Practices & Carrier Compliance Checklist
- A2P 10DLC Registration Mandatory: Sending US SMS traffic from unregistered long codes incurs heavy $0.015/message carrier penalty fees and results in 80%+ message filtering by US telecommunication providers.
- Opt-Out Keyword Automation: Ensure automated handling of `STOP`, `CANCEL`, and `UNSUBSCRIBE` webhooks. Failing to honor opt-out requests within 24 hours risks immediate carrier suspension.
- Smart Character Replacement: Replace smart quotes (`“` and `”`) and en-dashes (`–`) with ASCII equivalents (`"` and `-`) before calling the Twilio API to prevent accidental UCS-2 conversion.