RingOwl
Log inTry free
← Help center

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.

USSD (Unstructured Supplementary Service Data) is a GSM protocol for sending short text commands from your phone directly to the carrier's network. You've probably used one without knowing — *#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

CodeWhat 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)
*611Call 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

  1. Open your phone's dialer (the regular Phone app — not a messaging app).
  2. Type the full USSD string, including all *, #, and digits. The trailing # matters — without it, the phone treats the string as a partial phone number.
  3. Press the green call/send button (not enter — must be the call button).
  4. 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.

Country
Carrier
When should calls forward?

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 *72 or *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