Just like Android phones, iPhones also have secret codes that can show you hidden stuff like how strong your signal is, to secret testing menus. Instead of digging through tons of settings, you can just put in a few numbers and symbols to see what’s going on under the hood. Let’s check out all iPhone secret codes that are tested and are working.

Table of Contents
What are iPhone Secret/Hidden Codes?
These iPhone secret/hidden codes are a combination of numbers, asterisks (*), and sometimes the hash sign (#) you type into your iPhone’s Phone app, just like you’re making a call. But instead of calling someone, these codes unlock hidden menus or show you different iPhone-related information.
Some codes can show you details about your network connection, others can let you test different hardware parts of your phone, and some even unlock special settings. While they might not be as widely known as regular settings, these hidden codes can be super handy for troubleshooting, checking device info, or just geeking out about your iPhone’s capabilities. There are different kinds of these codes, and we’ll explore what they can do.
Also Read
There are two types of secret codes. Let’s take a look at them one by one.
- MMI (Man-Machine Interface Codes). These codes have been designed by your phone’s manufacturer. It can help you access hidden settings and even enable disabled features. But since these are brand-specific, a code compatible with OnePlus phones may not work with Samsung ones.
- USSD (Unstructured Supplementary Service Data): USSD codes can be entered via the dialer of your phone and are useful for getting carrier-related info. For example, if you wish to get details about your remaining balance, talk time, bills, or additional charges, these are the codes to use. You can easily identify a USSD code since it begins with an asterisk and ends with a hash.
How to Use Secret Codes on iPhone?
Using these secret codes on an iPhone is pretty straightforward. You just need to follow these steps:
- Open the dialer app on your iPhone that you use to make phone calls.
- Tap on the keypad option where you can dial phone numbers.
- Enter the secret code, including all the asterisks (*) and symbols. You can copy and paste the code to prevent any mistakes.
Note: While most codes require pressing the ‘Call’ button to execute, some, like the IMEI display code (*#06#), activate instantly upon typing the final # symbol.
A Word of Caution: Using some of these codes can be risky since they directly let you tinker with the hardware.
Also Read:
- The iPhone 18 Could Be Expensive and Here’s Why
- iPhone Fold With Under-Display Camera? Leak Reveals Huge Change
- iPhone 17 vs iPhone 16: 6 Big Upgrades You Must Know About
Universal vs. Carrier-Specific Codes
iPhone dialer codes fall into two main categories:
Carrier-Specific Codes: Many codes, particularly those related to account balance inquiries, data usage checks, or management of carrier-specific network features (like T-Mobile’s Binge On or Scam Block), are unique to each network operator (AT&T, Verizon, T-Mobile, etc.). These codes will only function when the iPhone is connected to that specific carrier’s network.
Universal Codes: These are designed to function irrespective of the mobile carrier. A prime example is *#06# for displaying the IMEI, which is a standardized code across the mobile industry. Other codes related to fundamental GSM/UMTS/LTE features (like basic call waiting or forwarding checks) often fall into this category.
Universal iPhone Codes
Let’s get started.
USSD Code | Function | Explanation | Risk Level |
---|---|---|---|
*#06# | Display IMEI | Shows a unique hardware ID. Essential for lost/stolen reports. | Low |
*#31# | Check Outgoing Caller ID Status | Verifies if your number is hidden or shown for outgoing calls. | Low |
*3001#12345#* | Access Field Test Mode | Opens hidden menu with detailed cellular network info. For technical use. | Low-Medium |
*#61# | Check Call Forwarding (Unanswered) | Displays number/delay for unanswered call forwarding (often voicemail). | Low |
*#62# | Check Call Forwarding (Unreachable) | Displays number for forwarding when phone is off/no signal (often voicemail). | Low |
*#67# | Check Call Forwarding (Busy) | Displays a number for forwarding when line is busy. | Low |
##002# | Cancel All Call Forwarding | Deactivates all types of call forwarding. | Medium |
*#21# | Check Call Forwarding Status (All Calls) | Checks if all calls/data are unconditionally forwarded and to where. | Low |
*21*PhoneNumber# | Activate Unconditional Forwarding | Standard GSM Code: Forwards all incoming calls. Note: Carrier implementation varies (e.g., Verizon uses *72, T-Mobile adds 1+). | Medium |
*#43# | Check Call Waiting Status | Confirms if the Call Waiting is active. | Low |
*43# | Enable Call Waiting | Activates the Call Waiting feature. | Low |
#43# | Disable Call Waiting | Deactivates the Call Waiting feature. | Low |
*#33# | Check Call Barring Status | Shows if call restrictions (barring) are active. May require network PIN for changes. | Low |
*33*PIN# | Activate Call Barring (All Incoming) | Blocks all incoming calls. Requires your SIM/Network PIN. | High |
#33*PIN# | Deactivate Call Barring (All Incoming) | Unblocks incoming calls blocked by the above code. Requires PIN. | Medium-High |
*#30# | Check Calling Line Presentation Status | Verifies if your number is being sent (presented) on outgoing calls. | Low |
#5005*7672# | Check SMS Service Center (SMSC) Number | Displays the message center number used for sending SMS. | Low |
*5005*25371# | Check Wireless Alert System Status | Checks status related to emergency/carrier alerts (WEA). Functionality may vary. | Low |
*5005*25370# | Disable/Check Wireless Alert System Status | May disable or check the status of alerts. Functionality may vary. | Low-Medium |
Carrier-Specific Codes for US Networks
These codes are specific to major US wireless carriers for managing accounts, usage, and features.
AT&T Wireless
Note: There is significant ambiguity regarding AT&T wireless call forwarding codes. Using the iPhone’s settings (Settings > Phone > Call Forwarding) or the myAT&T app/website is the most reliable method.
USSD Code | Function | Explanation |
---|---|---|
*225# (*BAL#) | Check Bill Balance / Last Payment | Sends a text with balance and last payment info. |
*3282# (*DATA#) | Check Data & Messaging Usage | Sends a text with current cycle data/messaging usage (may have reporting delays). Likely includes minutes if applicable. |
*3286# (*DATO#) | Check Data & Usage (Spanish) | Sends usage details via text in Spanish. |
*777# | Check Prepaid Balance (Unconfirmed) | Functionality not strongly confirmed by official docs; *225# or myAT&T recommended. |
*646# (*MIN#) | Check Minute Usage (Likely Obsolete) | Not emphasized in official docs; *3282# likely provides comprehensive usage, including minutes. |
##004# | Cancel All Conditional Forwarding | Universal GSM code, likely to work for canceling *61, *62, and *67 forwarding. |
Verizon Wireless
USSD Code | Function | Explanation |
---|---|---|
#BAL (#225) | Check Balance | Provides account balance information. |
#DATA (#3282) | Check Data Usage | Provides estimated data usage (may not include last 24 hours). |
#MIN (#646) | Check Minute Usage | Provides estimated minute usage (may not include last 24 hours). |
#PMT (#768) | Make Payment | Initiates the payment process. |
*611 | Call Customer Service | Connects you to Verizon customer support. |
*86 | Check Voicemail | Accesses your Verizon voicemail box. |
*71 + 10-digit number | Activate Call Forwarding (Unanswered) | Forward calls only if you don’t answer (conditional). Your phone rings first. |
*72 + 10-digit number | Activate Call Forwarding (Immediate) | Forwards all calls immediately without ringing your phone (unconditional). |
*73 | Stop All Call Forwarding | Deactivates both conditional (*71) and unconditional (*72) forwarding. |
*67 + 10-digit number | Block Caller ID (Per Call) | Hides your number for the next outgoing call. |
*82 + 10-digit number | Unblock Caller ID (Per Call) | Shows your number for the next outgoing call (used if permanent blocking is active). |
*70 | Cancel Call Waiting (Per Call, Landline?) | Primarily a landline code; functionality on mobile is unconfirmed. Test cautiously or use iPhone settings. |
T-Mobile
Note: T-Mobile uses codes largely following GSM standards, but with some specific variations (e.g., #31#).
USSD Code | Function | Notes/Explanation |
---|---|---|
#BAL# (#225#) | Check Account Balance / Payment | Provides balance, last payment, and service cycle info. |
#MIN# (#646#) | Check Minute Usage | Shows minutes used. |
#MSG# (#674#) | Check Message Usage | Shows text message usage. |
#WEB# (#932#) | Check Data Usage / Plan / Expiry | Provides data usage details, plan info, and expiry date. |
#NUM# (#686#) | Display Your Phone Number | Shows your own T-Mobile phone number. |
#999# | Check Prepaid Account Balance | Specific code for checking prepaid balance. |
#PWD# (#793#) | Reset Voicemail Password | Initiates voicemail password reset. |
#PWO# (#796#) | Turn Voicemail Password On/Off | Toggles the requirement for a password to access voicemail. |
**21*1+PhoneNumber# | Activate Unconditional Forwarding (CFU) | Forwards all calls immediately. Note the required 1+ prefix. |
##21# | Deactivate Unconditional Forwarding | Stops CFU. |
**61*1+PhoneNumber# | Activate Forwarding if No Reply (CF NRY) | Forwards unanswered calls. Note 1+ prefix. |
##61# | Deactivate Forwarding if No Reply | Stops CF NRY. |
**62*1+PhoneNumber# | Activate Forwarding if Unreachable (CF NRC) | Forwards calls when the phone is off/no signal. Note 1+ prefix. |
##62# | Deactivate Forwarding if Unreachable | Stops CF NRC. |
**67*1+PhoneNumber# | Activate Forwarding if Busy (CFB) | Forwards calls when the line is busy. Note 1+ prefix. |
##67# | Deactivate Forwarding if Busy | Stops CFB. |
##004# | Reset All Conditional Forwarding | Cancels CF NRY, CF NRC, CFB, resetting to default (usually voicemail). |
*43# | Turn On Call Waiting | Activates call waiting. |
#43# | Turn Off Call Waiting | Deactivates call waiting. |
*67 + 1+PhoneNumber | Hide Caller ID (Per Call) | Hides your number for the next call. Note 1+ prefix. |
#31# + 1+PhoneNumber | Show Caller ID (Per Call) | T-Mobile Specific: Shows your number for the next call (overrides permanent block). This is opposite of the common international use of #31# for hiding ID. |
#BNG# (#264#) | Binge On Status Check | Checks if Binge On video optimization is active. |
#BOF# (#263#) | Turn Off Binge On | Deactivates Binge On. |
#BON# (#266#) | Turn On Binge On | Activates Binge On. |
#ONI# (#664#) | Turn On Scam ID | Activates Scam ID feature. |
#634# | Turn Off Scam ID | Deactivates Scam ID feature. |
#ONB# (#662#) | Turn On Scam Block | Activates Scam Block feature. |
#OFB# (#632#) | Turn Off Scam Block | Deactivates Scam Block feature. |
#STS# (#787#) | Check Scam Block Status | Shows the current status of Scam ID/Block. |
#RON# / #ROF# (#766# / #763#) | International Data Roaming On/Off | Toggles international data roaming. |
Alright, folks, that’s the scoop on some of the iPhone hidden/secret codes you can try. Hopefully, you found a few new tricks to play with and maybe learned a little something about the capabilities of your phone. Keep playing around (but be a little careful!), and stay tuned for more iPhone tips and tricks in the future!