The usual cause is the number format. Telegram needs it in full international form, which means the country code first and no leading zero on the local part.
The correct format
| Part | Example |
|---|---|
| Country code | +44, +1, +82 |
| Area or carrier code | without its leading zero |
| Your number | the rest, digits only |
A number written locally as 010 1234 5678 in a country with code 82 is entered as +82 10 1234 5678. The leading zero is a domestic convention and is dropped.
If the code still does not arrive
- Check Telegram itself first. If you are already signed in on another device, the code is delivered there as a message rather than by SMS, and no text will arrive.
- Wait before retrying. Requesting repeatedly restarts the timer and can delay delivery further.
- Confirm the line can receive texts from abroad. Some prepaid and corporate lines block international SMS by default.
- Try with mobile data instead of Wi-Fi, or the other way round. A restrictive network occasionally interferes with delivery.
- Check that the number is a mobile. Landlines cannot be used.
When none of that works
Use the support form on telegram.org to report a login problem. State the number in full international form, the country, the carrier, and what you saw. A report with those four things is resolved far faster than one saying the code did not arrive.
Once you are in, turn on two-step verification under Settings, Privacy and Security. It also unlocks receiving the login code as a phone call, which is useful precisely when SMS is unreliable.
Updated