When sending bulk SMS campaigns, OTP messages, or transactional alerts, knowing exactly how your text will be split into message parts is critical for controlling costs and ensuring deliverability. Our free SMS character counter tool instantly analyzes your message to show you the total character count, the number of message segments, the remaining characters per part, and whether your text uses GSM-7 or Unicode encoding.
Simply type or paste your message into the text area below. The tool automatically detects your encoding type and calculates how many SMS parts your message will require helping you write smarter, more cost-effective text messages every time.
Total
0Parts
0Remaining
160Encoding
GSMAn SMS character counter is a specialized tool that calculates the exact number of characters in a text message and determines how many SMS segments (parts) your message will require when sent through a mobile network or SMS gateway API. Unlike a standard word counter, an SMS character counter accounts for the specific encoding rules that govern how text messages are transmitted including the difference between GSM-7 and Unicode character sets.
Every SMS message is subject to strict character limits defined by the GSM standard. A single SMS can carry a maximum of 160 characters when using the standard GSM-7 encoding, or 70 characters when the message contains Unicode characters such as emojis, Chinese, Arabic, or other non-Latin scripts. If your message exceeds these limits, it is automatically split into multiple segments and each segment is billed as a separate message by your SMS provider.
That is why using an SMS length calculator before sending is essential for businesses running bulk SMS campaigns. It helps you stay within character limits, avoid unnecessary message splits, and keep your messaging costs under control.
The table below provides a quick reference for SMS character limits based on encoding type. Understanding these limits is the foundation of effective SMS campaign planning and cost optimization.
| Encoding Type | Single SMS Limit | Multi-Part Segment Limit | Max Concatenated Length |
|---|---|---|---|
| GSM-7 (Standard) | 160 characters | 153 characters per segment | 1,600 characters (approx. 10 segments) |
| Unicode (UCS-2) | 70 characters | 67 characters per segment | 700 characters (approx. 10 segments) |
Important: When a message exceeds the single-SMS limit, each segment includes a 7-byte User Data Header (UDH) that carries reassembly instructions. This is why multi-part messages use 153 characters per segment (GSM-7) or 67 characters per segment (Unicode) instead of the full 160 or 70.
GSM-7 is the default character encoding for SMS messages and supports the standard Latin alphabet, digits, and common punctuation marks. It is the most efficient encoding available, allowing up to 160 characters in a single message.
A single SMS message encoded in GSM-7 supports a maximum of 160 characters, including spaces and punctuation. As long as every character in your message belongs to the GSM-7 default alphabet, your message will use this efficient encoding automatically.
If your message exceeds 160 characters, it is automatically split into multiple segments. Each segment carries up to 153 characters of your actual text, with the remaining 7 bytes reserved for the User Data Header (UDH) metadata that tells the recipient's device how to reassemble the segments into a single message.
Certain characters in the GSM-7 extended set including €, [, ], {, }, ^, ~, \, and | require an escape sequence and therefore count as 2 characters instead of 1. This is a common source of unexpected message splits, so always verify your character count when using these symbols.
A 160-character message using only standard GSM-7 characters counts as one SMS. However, a 161-character message will be split into two segments: the first containing 153 characters and the second containing 8 characters both billed as separate messages. A 306-character message would be split into two full segments of 153 characters each.
Unicode encoding (UCS-2) is used whenever your SMS contains characters that fall outside the GSM-7 alphabet. This includes emojis, accented characters not in the GSM set, and scripts such as Arabic, Chinese, Hindi, Japanese, Korean, Russian, Thai, and many others.
A single Unicode SMS supports a maximum of 70 characters. Because UCS-2 uses 2 bytes per character (compared to 7 bits for GSM-7), the available space per message is significantly reduced.
If your Unicode message exceeds 70 characters, it will be divided into segments of 67 characters each. The remaining 3 characters' worth of space in each segment is used for the UDH concatenation header.
A message with exactly 70 Unicode characters counts as one SMS. If it contains 71 characters, it will be split into two parts: the first with 67 characters and the second with 4 characters. A 139-character Unicode message will be split into three parts: two segments with 67 characters each and one segment with 5 characters.
Important: Even if only one character in your entire message is a Unicode character (such as a single emoji), the entire message switches to UCS-2 encoding. This means all segments will be limited to 67 characters not 153. Always check your message with our SMS character counter to avoid unexpected encoding switches.
One of the most frequent causes of unexpected SMS costs is accidentally including a character that forces the entire message into Unicode encoding. Below are common characters and scenarios that trigger the switch from GSM-7 to UCS-2:
Pro Tip: Always paste your final message into our SMS character counter before sending. The tool will instantly detect if your message uses Unicode encoding, allowing you to remove or replace problematic characters and keep your costs low.
When a text message exceeds the single-SMS character limit (160 for GSM-7 or 70 for Unicode), the sending system uses a process called message concatenation to split the message into multiple segments. Each segment is transmitted independently over the mobile network and then reassembled on the recipient's device into a single, seamless message.
To make reassembly possible, each segment includes a User Data Header (UDH) a small block of metadata that contains a reference number, the total number of segments, and the sequence number of the current segment. This UDH consumes 7 bytes of the available payload, which is why multi-part GSM messages are limited to 153 characters per segment (160 minus 7) and multi-part Unicode messages are limited to 67 characters per segment (70 minus 3 characters' worth of bytes).
From a billing perspective, each segment is counted and charged as a separate SMS by your provider. A 320-character GSM message, for example, would be split into 3 segments (153 + 153 + 14) and billed as 3 messages. This is why our SMS segment calculator is an essential tool for planning bulk SMS campaigns it helps you optimize message length and minimize costs before you hit send.
For businesses sending hundreds or thousands of messages through a bulk SMS gateway, even a small difference in character count can have a significant impact on overall messaging costs. Understanding the relationship between character count, encoding, and segment billing is key to running cost-effective SMS campaigns.
Consider this scenario: you are sending a marketing message to 10,000 recipients. If your message is 155 characters using GSM-7, it fits in a single SMS costing you 10,000 message credits. But if the message is 165 characters, it splits into two segments, doubling your cost to 20,000 credits. That is a 100% increase in cost for just 10 extra characters.
The impact is even more dramatic with Unicode. A 75-character message containing a single emoji would be split into two Unicode segments (67 + 8), costing twice as much as a 70-character message. Removing that one emoji could cut your campaign cost in half.
| Scenario | Characters | Encoding | Segments | Cost per Recipient |
|---|---|---|---|---|
| Short GSM message | 120 | GSM-7 | 1 | 1 SMS credit |
| Long GSM message | 165 | GSM-7 | 2 | 2 SMS credits |
| Short Unicode message | 65 | Unicode | 1 | 1 SMS credit |
| Long Unicode message | 75 | Unicode | 2 | 2 SMS credits |
| GSM message with 1 emoji | 120 | Unicode (forced) | 2 | 2 SMS credits |
Use our SMS character counter above to preview your message before sending. It is the simplest way to avoid overspending on your bulk SMS campaigns.
The GSM-7 default alphabet is defined by the GSM 03.38 standard and includes 128 characters optimized for Latin-based languages. Knowing which characters belong to this set helps you write messages that stay within the efficient 160-character limit. Below is the complete list of supported characters:
Letters: A-Z, a-z
Digits: 0-9
Punctuation & Symbols: @ £ $ ¥ è é ù ì ò Ç Ø ø Å å Δ Φ Γ Λ Ω Π Ψ Σ Θ Ξ _ ! " # ¤ % & ' ( ) * + , - . / : ; < = > ? ¡ § ¿
Whitespace: Space, Line Feed (LF), Carriage Return (CR)
The following characters are part of the GSM-7 extended table and require an escape character prefix, making each one consume 2 character positions in your message:
{ } [ ] ~ \ | ^ €
Example: A message containing the text "Price: €50" uses 12 character positions (not 10), because the € symbol counts as 2. If your message is close to the 160-character boundary, these extended characters could push it into a second segment.
Whether your SMS is in GSM-7 or Unicode format, an SMS character counter helps you determine the exact number of characters, the encoding type, and the number of message segments before you send. This is not just a convenience it is a critical step in professional SMS communication that directly impacts your delivery success and budget.
For businesses using EasySendSMS to send marketing campaigns, OTP verification codes, appointment reminders, or transactional notifications, checking your character count ensures that every message is optimized for cost and clarity. It prevents accidental Unicode switches, avoids unnecessary multi-part splits, and gives you full control over your messaging spend.
Our SMS character counter tool is completely free, requires no registration, and works instantly in your browser. Use it every time you draft an SMS to ensure your message is as efficient and cost-effective as possible.
Crafting a high-performing SMS requires more than just staying within the character limit. The best text messages are concise, clear, and action-oriented. Here are proven best practices for writing SMS messages that get results:
The most effective SMS messages are under 160 characters fitting within a single GSM segment. Write your complete message first, then edit ruthlessly. Remove filler words, redundant phrases, and unnecessary greetings. Every character should serve a purpose. Studies show that shorter messages consistently achieve higher read and response rates.
While abbreviations like "u" for "you" or "2nite" for "tonight" may save characters, they can appear unprofessional in business communications. Use proper language to maintain credibility and ensure your message is clearly understood by all recipients, regardless of their familiarity with text shorthand.
Put the most important information at the beginning of your message. Recipients often see just the first line in their notification preview, so front-loading your key offer, deadline, or call-to-action ensures it gets noticed even before the full message is opened.
Every marketing SMS should include a clear, specific call to action. Tell the recipient exactly what you want them to do whether it is "Reply YES to confirm," "Visit our store today," or "Use code SAVE20 at checkout." Vague messages generate vague results.
Since SMS does not support rich text formatting like bold or italic, use CAPITALIZATION sparingly to draw attention to key details such as discount codes, dates, or action words. This helps important information stand out in a plain-text environment.
Emojis can add personality and visual appeal to your messages, but use them with caution. Every emoji forces your entire message into Unicode encoding, reducing your single-message limit from 160 to 70 characters. If your message is longer than 70 characters, the cost impact can be significant. Always check with our SMS character counter before including emojis in bulk campaigns.
Tip: If you decide to use an emoji, avoid pairing it with the word it represents. For example, write "Try our new 🍕 today!" instead of "Try our new pizza 🍕 today!" this saves characters while keeping the message engaging.
Personalized messages such as including the recipient's first name consistently outperform generic ones. If your SMS platform supports dynamic fields, use them to create a more personal connection. Just remember to account for the variable character length in your total count.
For business and marketing messages, always include a clear opt-out mechanism, such as: "Reply STOP to unsubscribe." This is legally required in many regions (including under GDPR, TCPA, and local telecommunications regulations) and is considered a best practice for maintaining trust and healthy customer relationships.
Before launching any campaign, paste your final message into our SMS character counter to verify the character count, encoding type, and number of segments. Then send a test message to your own device to see exactly how it appears on screen. This simple step can prevent costly mistakes and ensure a professional delivery every time.
For more tools and resources to help you craft effective, compliant text messages, visit EasySendSMS.com your trusted partner for global business SMS solutions.
A single SMS message can contain up to 160 characters when using GSM-7 encoding (the standard for Latin-based languages). If your message includes Unicode characters such as emojis, Arabic, Chinese, or other non-Latin scripts the limit is reduced to 70 characters per message.
When your message exceeds the single-SMS limit, it is automatically split into multiple segments through a process called concatenation. GSM-7 messages are split into segments of 153 characters each, and Unicode messages into segments of 67 characters each. Each segment is billed as a separate SMS by your provider, though the recipient sees them as one continuous message.
Emojis are Unicode characters. When you include even a single emoji in your message, the entire SMS switches from GSM-7 encoding (160-character limit) to Unicode encoding (70-character limit). A 120-character message that was previously 1 segment suddenly becomes 2 segments under Unicode encoding (67 + 53), doubling the cost.
GSM-7 is the default encoding for SMS messages, supporting 128 standard characters (Latin letters, digits, and common symbols) at 7 bits per character allowing 160 characters per SMS. Unicode (UCS-2) uses 16 bits per character to support a much wider range of scripts and symbols, but this reduces the limit to 70 characters per SMS. Your message encoding is determined automatically based on the characters you use.
Yes. Spaces, line breaks, and all whitespace characters are counted toward your SMS character total. A space uses 1 character position in both GSM-7 and Unicode encoding.
Certain characters in the GSM-7 extended table including €, [, ], {, }, ^, ~, \, and | require an escape sequence prefix to be transmitted. This escape character takes up one position, so the extended character effectively counts as 2 characters in your message.
Yes, our SMS character counter tool is completely free with no registration required. You can use it as many times as you need to check character counts, encoding types, and message segments before sending your SMS through EasySendSMS or any other provider.
To reduce segments: remove unnecessary words and whitespace, replace Unicode characters (like smart quotes or emojis) with GSM-7 equivalents, use abbreviations where appropriate for non-formal messages, and always preview your message with our SMS character counter before sending. Even removing a few characters can save you from being billed for an extra segment across your entire recipient list.
The maximum length of a concatenated SMS is typically 1,600 characters for GSM-7 encoding (approximately 10 segments) and 700 characters for Unicode encoding (approximately 10 segments). However, the exact limit may vary depending on your SMS provider and the carrier networks involved. EasySendSMS supports long concatenated messages across all major global networks.
Now that you understand how SMS character limits, encoding, and segmentation work, put that knowledge into action with EasySendSMS the trusted global bulk SMS provider used by over 12,300 businesses worldwide. Our platform makes it easy to send bulk SMS campaigns, OTP verification messages, transactional alerts, and two-way SMS across 170+ countries with industry-leading delivery rates.
Whether you are a developer looking for a powerful SMS API, a marketer planning your next campaign, or a business that needs reliable messaging infrastructure, EasySendSMS gives you the tools, routes, and support to communicate effectively at scale.
Create your free account today and receive complimentary SMS credits to test our platform no commitment required.