USSD codes — what they are and how to use them
Short dial strings that talk straight to your carrier's network. Used for call forwarding, balance checks, IMEI lookup, and more — work on every GSM phone.
*#06# to see your IMEI, **21*<number># to forward calls, *123# to check prepaid balance. They're not regular phone numbers — they're commands the carrier interprets in real time and responds to with a popup or text.How USSD codes work
A USSD code is a string of digits and symbols (*, #, 0-9) you dial on your phone. When you press the call/send button, the phone recognizes the string as a USSD command (not a regular call) and sends it directly to your carrier's switch. The switch parses it, runs the command, and replies — usually with a popup on your phone screen or a confirmation text.
Unlike SMS, USSD is session-based — the response comes back immediately, in the same dial session, without using your messaging plan. Unlike a regular call, USSD doesn't connect you to a person — it's a machine-to-machine command-and-response.
USSD only works on GSM networks (most modern wireless globally). CDMA networks (Verizon legacy, US Cellular) use older star codes instead.
The most common USSD codes
| Code | What it does |
|---|---|
*#06# | Show your phone's IMEI (works on every GSM phone, every carrier) |
**21*<number># | Forward every call to a number (unconditional) |
**61*<number># | Forward calls when busy or unanswered (conditional) |
**67*<number># | Forward when busy only |
**62*<number># | Forward when unreachable (phone off / no signal) |
##21# | Cancel unconditional call forwarding |
##61# | Cancel conditional (no-answer) forwarding |
##67# | Cancel busy forwarding |
##62# | Cancel unreachable forwarding |
##002# | Cancel all call forwarding rules at once |
*#21# | Check the current unconditional-forwarding target |
*#61# | Check the current no-answer-forwarding target |
*#67# | Check the current busy-forwarding target |
*#62# | Check the current unreachable-forwarding target |
*#43# | Check the status of call waiting |
*43# | Turn call waiting on |
#43# | Turn call waiting off |
*123# | Check prepaid balance (most prepaid GSM carriers) |
*611 | Call your carrier's customer support (most US carriers) |
The pattern: * initiates a set or query, # ends the string, ** activates a service with parameters, ## deactivates, *# queries the current setting.
How to dial a USSD code
- Open your phone's dialer (the regular Phone app — not a messaging app).
- Type the full USSD string, including all
*,#, and digits. The trailing#matters — without it, the phone treats the string as a partial phone number. - Press the green call/send button (not enter — must be the call button).
- Within a few seconds, the carrier responds with a popup on screen or a confirmation text.
If your phone places a regular call to a weird-looking number instead, the trailing # is missing or you pressed enter instead of call.
USSD codes vs star codes — what's the difference?
Star codes (like Verizon's *72, *71, *73) are the older North-American convention, originally built for landlines. They're shorter, start with *, and the carrier knows them by length and prefix.
USSD codes (like **21*<number>#) are the GSM-standard wireless equivalent, with explicit ** activation, ## cancellation, *# query, and a trailing # to mark the end of the string. They're more verbose but more uniform across carriers and countries.
Most call-forwarding tutorials cover both — use whichever your specific carrier supports. CDMA / landline / cable VoIP carriers (Verizon wireless on legacy CDMA, Spectrum, Comcast, Bell, Telus) use star codes. GSM wireless carriers (AT&T wireless, T-Mobile, Cricket, Mint, Rogers, plus most international) use USSD codes.
Try the carrier code generator
Pick your carrier and condition — get the exact code to dial, with a copy button.
Code preview
Enter the destination number above and the dial code appears here.
FAQ
- What is a USSD code?
- USSD (Unstructured Supplementary Service Data) is a GSM protocol for sending short text commands from your phone directly to the carrier's network. Dial a string like
**21*<number>#, press call, the carrier runs the command and responds in real time. Used for call forwarding, balance checks, IMEI lookup, and other carrier services. - Do USSD codes work on iPhone?
- Yes — USSD codes are a carrier feature, not a phone feature, so they work on every iPhone on a GSM carrier (AT&T wireless, T-Mobile, most international networks). Just dial the code in the regular Phone app and press the green call button. On Verizon legacy CDMA, use the older star codes instead.
- Do USSD codes cost money?
- No — USSD sessions are free on every major carrier. They don't count against your call minutes, messaging plan, or data plan.
- Why didn't my USSD code work?
- Three usual suspects: (1) you're missing the trailing
#— the phone treats the string as a regular phone number without it; (2) you pressed enter instead of the green call button; (3) you're on a CDMA carrier (most often Verizon wireless) — try the older star-code equivalent instead. - Are USSD codes the same as star codes?
- Similar idea, different format. Star codes (like
*72or*73) are the older North-American convention, short and originally for landlines. USSD codes (like**21*<number>#) are the GSM-standard wireless format with explicit activation, cancellation, and query patterns. Carriers use one or the other depending on network type.
Forward your line to an AI that books
RingOwl is a 24/7 AI answering service for small businesses. Forward your line with the codes above and the AI picks up every call, books appointments straight into your calendar, and texts you a summary. Free 7-day trial, no credit card.
Start your free trial →Related