Skip to main content
FREE WEB
UTILITIES
🏠 Home

Generators

Generate QR codes & more

View All →
🔧 All Tools
SMS Marketing Tool
📱

SMS Character Counter

Track SMS character count, detect encoding type (GSM-7 at 160 chars vs Unicode at 70 chars), and see exactly how many message segments your SMS will use. Helps you optimize messages and estimate bulk SMS costs before sending.

📱
160 Chars
GSM-7
🌐
70 Chars
Unicode
SMS Segments
Encoding Detection
Cost Estimation

SMS Character Counter

Characters
0
/ 160
SMS Count
0
messages
Remaining
160
characters
Encoding
GSM-7
160 chars/SMS

Cost Estimation (Optional)

$0.00
📊

SMS Counter Features

SMS campaign optimization

📱
160/70
Char Limits

GSM-7 / Unicode

✂️
Auto
Segmentation

Multi-part SMS

🔤
Detect
Encoding

GSM-7 or Unicode

💰
Cost
Calculator

Estimate budget

💡 Pro Tip: Perfect for SMS marketing campaigns and bulk messaging optimization.

📖

How to Use SMS Counter

Step-by-step guide to get started

Type or paste your message into the text area. You'll see your character count, your encoding type (GSM-7 or Unicode), the number of SMS segments, and the characters remaining in your current segment. No configuration needed — encoding detection is automatic.

GSM-7 encoding (160 characters per SMS): Covers the basic Latin alphabet, digits, and common punctuation. Standard English messages without special characters use this.

Unicode encoding (70 characters per SMS): Any character outside the GSM-7 set triggers this — emojis, Arabic, Chinese, Cyrillic, certain accented letters, and others. When you exceed one SMS, the segment size shrinks to 67 characters because some bytes are reserved for the header that links segments together.

Multi-part SMS: First segment holds 160 chars (GSM-7) or 70 chars (Unicode). Every additional segment holds 153 chars (GSM-7) or 67 chars (Unicode) due to the concatenation header.

To reduce your segment count, remove emojis and special characters, shorten URLs with a URL shortener, and trim any optional filler text.

Quick Tip: Follow these steps in order for the best experience

🧠

How SMS Counting Works

Understanding SMS encoding

How SMS Character Counting Works

Encoding Detection

The tool scans your message for special characters:

  1. If all characters are in GSM-7 charset → Use GSM-7 encoding (160 chars)
  2. If any character requires Unicode → Use Unicode encoding (70 chars)

SMS Segment Calculation

Single SMS:

  • GSM-7: Up to 160 characters
  • Unicode: Up to 70 characters

Multi-Part SMS (Concatenated):

  • GSM-7: 153 characters per segment (7 chars used for concatenation header)
  • Unicode: 67 characters per segment (3 chars used for header)

Formula: SMS Count = Math.ceil(CharCount / CharsPerSegment)

Character Counting Specifics

  • Escape Characters: Some GSM-7 chars like [ ] { } | \ ^ € ~ count as 2 characters
  • Line Breaks: Count as characters (CR+LF = 2 chars or LF = 1 char)
  • Emojis: Force Unicode encoding and may count as multiple characters

Cost Calculation

Total Cost = SMS Segments × Cost Per SMS

Science-Backed

Based on proven research

Easy to Follow

Simple steps for everyone

Instant Results

Get answers immediately

💡 Pro Tip: Emojis and special characters trigger Unicode encoding, reducing character limit to 70!

Frequently Asked Questions

Find answers to common questions

The 160-character limit comes from the GSM-7 encoding standard used by the original SMS protocol. Each GSM-7 character takes 7 bits, and a single SMS data block holds 140 bytes — which works out to exactly 160 characters (140 × 8 ÷ 7). It's an artifact of 1980s telecom engineering that's stuck around.

The moment you include an emoji (or any character outside GSM-7), the entire message switches to Unicode encoding. The limit per segment drops from 160 to 70 characters. So a 140-character message with no emoji sends as 1 SMS, but adding a single emoji pushes it to 2 or 3 segments depending on total length.

GSM-7 uses 7 bits per character and covers basic Latin text, digits, and common punctuation — giving you 160 characters per SMS. Unicode uses 16 bits per character and covers every language and emoji, but only fits 70 characters per SMS. Unicode messages cost more in bulk because they require more segments for the same length of text.

When an SMS spans multiple parts, each part includes a small header (called a UDH — User Data Header) that tells the receiving device how to reassemble them in order. That header consumes 7 bytes (GSM-7) or 6 bytes (Unicode) of each segment, leaving 153 or 67 characters for actual content.

The most effective thing is to remove emojis — that alone often drops you back to GSM-7 encoding and doubles your character budget. After that: shorten URLs with a URL shortener, avoid curly quotes (replace with straight ones), trim filler phrases, and check that no accented characters are slipping in.

Still have questions? Feel free to leave a comment below and we'll help you out!

💬

Comments & Feedback

Share your thoughts and experiences

Leave a Comment

We'd love to hear from you

Your email won't be published

Be respectful and constructive

Be the first! No comments yet. Share your experience and help others!