O limite de 160 caracteres do SMS é uma das características mais conhecidas e, por vezes, frustrantes da tecnologia. Mas esse número não é arbitrário. Ele é o resultado direto de restrições técnicas da rede de telefonia móvel, projetada décadas atrás.
Entender como esse limite funciona é fundamental para qualquer pessoa que utiliza SMS, seja para comunicação pessoal ou para sistemas de verificação, como o recebimento de códigos OTP para verificação por SMS. Vamos detalhar a tecnologia por trás dessa contagem.
O clássico limite de 160 caracteres: por quê?
O Serviço de Mensagens Curtas (SMS) foi desenvolvido como parte do padrão GSM (Global System for Mobile Communications). Ele foi projetado para usar os canais de sinalização da rede telefônica, que já existiam para tarefas como iniciar chamadas e gerenciar a conexão.
A carga útil de uma mensagem nesses canais é de 140 bytes, o que equivale a 1120 bits (140 bytes * 8 bits/byte). A questão, então, passou a ser: quantos caracteres de texto podemos encaixar nesses 1120 bits?
A resposta depende de como cada caractere é codificado.
A mágica da codificação: GSM-7 vs. UCS-2
Para maximizar o espaço, os engenheiros criaram uma codificação de caracteres extremamente eficiente, chamada GSM 7-bit default alphabet, ou simplesmente GSM-7. Como o nome sugere, ela usa apenas 7 bits para representar cada caractere.
Com essa codificação, o cálculo é simples:
1120 bits / 7 bits por caractere = 160 caracteres
O conjunto de caracteres GSM-7 inclui o alfabeto latino (A-Z, maiúsculas e minúsculas), números (0-9) e a maioria dos símbolos de pontuação comuns (., ,, !, ?). Ele também inclui alguns caracteres de outras línguas, como Δ, Φ, Σ.
Quando o limite cai para 70 caracteres
O problema surge quando você precisa usar um caractere que não está no conjunto GSM-7. Isso inclui a maioria dos acentos (á, ç, õ), símbolos de moeda como o Euro (€) e, claro, todos os emojis (👍, 🎉, 😊).
Quando o seu celular detecta um desses caracteres, ele automaticamente muda a codificação da mensagem inteira para UCS-2 (ou sua variante moderna, UTF-16). Nessa codificação, cada caractere ocupa 16 bits, mais que o dobro do GSM-7.
O cálculo muda drasticamente:
1120 bits / 16 bits por caractere = 70 caracteres
Abaixo, uma tabela para visualizar a diferença.
| Característica | Codificação GSM-7 | Codificação UCS-2 |
|---|---|---|
| Tamanho por caractere | 7 bits | 16 bits |
| Limite por SMS | 160 caracteres | 70 caracteres |
| Caracteres suportados | Alfabeto básico, números e alguns símbolos | Praticamente todos (incluindo acentos e emojis) |
| Gatilho de uso | Padrão, para mensagens simples | Uso de qualquer caractere fora do padrão GSM-7 |
Para uma análise mais profunda das codificações, veja nosso artigo sobre GSM-7 e UCS-2.
E as mensagens longas? O SMS concatenado
Se o limite é tão rígido, como conseguimos enviar textos que parecem ter centenas de caracteres? A resposta é o SMS concatenado.
Quando uma mensagem excede o limite de 160 (ou 70) caracteres, o aparelho a divide em segmentos menores. Cada segmento é enviado como um SMS individual, mas com uma pequena informação extra no cabeçalho, chamada User Data Header (UDH). Esse cabeçalho informa ao celular receptor qual é a ordem dos segmentos para que ele possa remontá-los em uma única mensagem coesa na tela do usuário.
No entanto, o UDH ocupa espaço. Ele consome alguns bytes da carga útil de 140 bytes de cada segmento. Por isso, os segmentos de um SMS concatenado são um pouco menores:
- Mensagens GSM-7 concatenadas: Cada parte tem um limite de 153 caracteres.
- Mensagens UCS-2 concatenadas: Cada parte tem um limite de 67 caracteres.
O usuário final vê uma única mensagem longa, mas a operadora geralmente cobra por cada segmento enviado. Se você enviar um texto de 320 caracteres, por exemplo, ele será dividido em três segmentos (153 + 153 + 14) e você será tarifado por três SMS.
Essa técnica é crucial para a usabilidade do SMS moderno, mas é importante estar ciente dos custos envolvidos, especialmente em planos pré-pagos ou com pacotes de SMS limitados. Saiba mais em nosso guia sobre o que é SMS concatenado.
Implicações para códigos de verificação (OTP)
O limite de caracteres e as regras de codificação têm um impacto direto em sistemas de autenticação. Empresas que enviam códigos de verificação por SMS projetam suas mensagens para serem curtas e simples.
O formato típico Seu código é: 123456 usa apenas caracteres do conjunto GSM-7, garantindo que a mensagem seja enviada como um único SMS de baixo custo. Adicionar uma frase como Obrigado pela sua atenção! poderia, dependendo do ç e do ã, dobrar o custo de envio para a empresa, pois forçaria a codificação UCS-2 e a concatenação.
Por isso, mensagens de OTP são minimalistas por design: eficiência e custo são prioridades.
SMS vs. Mensageiros Modernos
Em um mundo dominado por WhatsApp, Telegram e iMessage, o limite de 160 caracteres do SMS pode parecer uma relíquia. Esses aplicativos usam a conexão de dados (internet) para enviar mensagens, e seus limites são medidos em milhares de caracteres, não em dezenas.
O SMS, no entanto, continua sendo uma tecnologia universal, que não depende de acesso à internet ou da instalação de um aplicativo específico. Essa universalidade é o que o mantém relevante, especialmente para comunicações A2P (Application-to-Person), como notificações bancárias, lembretes de consulta e códigos de verificação. A simplicidade e o alcance do SMS superam suas limitações de tamanho. A evolução, como o RCS, tenta unir o melhor dos dois mundos, mas a adoção ainda é gradual.
Perguntas frequentes
Por que meu SMS ficou com apenas 70 caracteres?
Isso acontece porque você inseriu pelo menos um caractere que não pertence ao alfabeto padrão GSM-7. Pode ser um acento (como ã, é, ç), um símbolo monetário específico (€) ou um emoji (😀). Ao fazer isso, seu celular muda toda a codificação da mensagem para UCS-2, que usa mais dados por caractere e reduz o limite total para 70.
Serei cobrado por cada parte de um SMS longo?
Sim. Embora seu celular exiba a mensagem como uma só, a rede a processa como múltiplos SMS. As operadoras de telefonia normalmente tarifam cada segmento individualmente. Uma mensagem que seu celular mostra como "SMS (3)" será cobrada como três mensagens de texto.
O que é a codificação GSM-7?
É um padrão de codificação de caracteres de 7 bits criado para ser extremamente eficiente em termos de espaço. Ele permite que 160 caracteres caibam em um único SMS de 140 bytes. Seu repertório é limitado ao alfabeto latino básico, números e os símbolos de pontuação mais comuns.
Emojis contam como quantos caracteres?
Um único emoji força toda a mensagem a usar a codificação UCS-2, reduzindo o limite por segmento para 67 ou 70 caracteres. Além disso, emojis mais complexos podem ocupar o espaço de múltiplos caracteres dentro dessa codificação, consumindo seu limite ainda mais rápido.
O limite de caracteres é o mesmo em todos os países?
Sim. O limite de 140 bytes por mensagem e as codificações GSM-7 e UCS-2 são parte dos padrões globais de telecomunicações (GSM). Portanto, as regras de 160/70 caracteres se aplicam a redes de celular em todo o mundo, não sendo uma limitação específica do Brasil.



