Summary created by Smart Answers AI
In summary:
- Tech Advisor reveals secret Android codes that unlock hidden diagnostic menus and device functions, including battery information, hardware testing, and IMEI identification.
- These USSD codes pose security risks as malicious websites can automatically execute them to change settings or factory reset devices.
- Essential codes include *#06# for IMEI numbers and *#0*# for Samsung service menus, though users should exercise caution.
Usually, you control your smartphone or tablet via the OS or app menus. However, certain functions can only be accessed using control commands: these are combinations of numbers that you enter via your phone’s dialler app, just like a phone number.
Many of these functions are not actually intended for the user, but for the mobile network provider or service technician. That’s why very few are publicly documented.
You should definitely exercise caution when trying them out. In the vast majority of cases, the smartphone will simply display an error message if it doesn’t recognise the code. It’ll say something like, ‘Connection problem or invalid MMI code’. However, it may also crash, in which case the only solution is to restart it. Some particularly nasty commands can even wipe the smartphone.
Tip: Skip to the end of the article to see all the numbers and what they do.
Special commands for individual smartphones
Control codes that are executed directly on the device have been around for a long time. All you need to do is enter the digits into the smartphone’s phone number field for something to happen. The problem: most of these secret codes only work on certain models, and often only if they’re running a specific version of Android.
For example, the combination *#0*# opens an advanced service menu on a Samsung Galaxy model. This allows you to test the screen’s display to detect faulty pixels, for instance. Or you can check whether the phone’s vibration or orientation, light and accelerometer sensors are working.

Foundry | Alex Walker-Todd
Reading the device number on your smartphone
Every mobile phone and tablet with inbuilt mobile network hardware has a unique device number, known as the IMEI (International Mobile Station Equipment Identity). It’s worth knowing this number, as it’s the easiest way to identify your phone if it’s lost.
This works even if someone has since reset the device to its factory settings. Knowing the number also helps at the lost property office if you need to convince someone there that the mobile belongs to you.
Here’s how: The IMEI appears when you open the phone app and enter this code: *#06#. You can write down the IMEI or simply take a screenshot of the number and then send it to your PC or upload it to the cloud.
Viewing battery and system information on your smartphone
Entering the code *#*#4636#*#* takes you to an advanced information menu. Under ‘Phone information’, you’ll find a list of details about the device itself, such as the IMEI, which SIM provider you’re using, and your download and upload speeds.
On some devices (or some Android versions), you can also view ‘Battery Information’. This displays the battery temperature and shows the device’s operating time.
Under ‘Usage Statistics’, you’ll find details on which apps have been active and for how long. Finally, under ‘Wi-Fi Information’, you’ll find details on the status of the Wi-Fi connection and the configuration of the connected access point – for example, whether it uses DHCP and what encryption is used to secure the Wi-Fi connection.
Incidentally, the code also works without a SIM card inserted, as it communicates directly with the mobile phone.

Luke Baker
Android commands for the mobile network
If you enter a GSM or MMI code, the phone must be connected to a mobile network. That’s because these commands cause the smartphone to send a request to the mobile network provider to configure network-internal functions. For example, you can use #31# to prevent your number from being displayed when making calls. You can use other GSM codes to check your smartphone’s status for call forwarding when calls aren’t answered, when you’re unreachable, or when the line is busy.
Another example is the MMI code *#21#. This displays the current call forwarding status. Open the Phone app, enter the code *#21# and tap ‘Call’. The app will display the call forwarding status. Use the following commands to change call forwarding: set up with **21*, delete with ##21#, deactivate with #21# and activate with *21#.
As these codes are sent to your mobile network provider, it’ll depend on which commands each provider supports and which it doesn’t.
Don’t forget: GSM codes must be sent using the call button.
Communication via USSD (Unstructured Supplementary Service Data) commands works in a similar way: such numeric codes are frequently used on pay-as-you-go phones, for example to display the balance of the pay-as-you-go card. Most USSD codes therefore only work with certain mobile network providers: O2 customers can use the code *140# to view the current bill amount for their tariff plan.

Foundry | Alex Walker-Todd
Dangers of Android codes
As with GSM codes, USSD commands are usually only sent when you press the call button in the phone app. However, a USSD code can also be executed automatically – and that’s when it gets dangerous: in conjunction with the ‘tel:’ command, a USSD code can be embedded as a link on a website. This means the smartphone may automatically execute the control code when the browser opens that website or URL. A code can be embedded on the webpage to change the PIN or reset the mobile phone to factory settings.
How to protect yourself from dangerous codes
To close this security loophole, you can, for example, use security apps such as NoUSSD, as the app prevents the automatic dialling of phone numbers from the web browser. If you really want to execute the call command, you can select the usual phone app for this purpose.
Secret mobile phone codes you should know
| Selected Android codes | Function |
|---|---|
|
*#0*# |
Opens the service menu (mainly on older mobiles) |
|
**04*old PIN*new PIN*new PIN# |
Changes the PIN |
|
**042*old PIN2*newPIN2*new PIN2# |
Changes the PIN2 |
|
*#004# |
Checks the status of conditional call forwarding |
|
**004* |
Enables conditional call forwarding |
|
*004# |
Enables conditional call forwarding |
|
#004# |
Deactivates conditional call forwarding |
|
##004# |
Deactivates conditional call forwarding |
|
**05*PUK*new PIN1*new PIN1# |
Unlocks the PIN |
|
**052*PUK2*new PIN2*newPIN2# |
Unlocks PIN2 |
|
*#06# |
Displays the unique device identifier (IMEI) |
|
*#21# |
Checks call forwarding status |
|
**21*phone number# |
Sets up call forwarding |
|
*21# |
Activates call forwarding |
|
#21# |
Deactivates call forwarding |
|
##21# |
Deactivates call forwarding |
|
*#30# |
Caller ID status for incoming calls |
|
*#31# |
Caller ID status for outgoing calls |
|
*#61# |
Call forwarding status when the mobile phone does not answer |
|
**61*[phone number]*10*[seconds, e.g. 5, 10, 15, 20, 25 or 30]# |
Sets up call forwarding when the mobile phone does not answer (switched off, no network) |
|
*61# |
Activates call forwarding when the mobile phone does not answer |
|
#61# |
Deactivates call forwarding when the mobile phone does not answer |
|
##61# |
Deactivates call forwarding when the mobile phone does not answer |
| *#62# |
Displays your own phone number (with Vodafone) |
|
*100# |
Displays prepaid credit (for Telekom, Vodafone, E-Plus) |
|
*101# |
Displays your prepaid balance (with O2) |
|
*102 |
Cost of last outgoing call/text message (with Vodafone) |
|
*105 |
Displays prepaid bonus credit (with O2) |
|
*130 |
Displays prepaid credit (with Swisscom, etc.) |
|
*135 |
Displays your own phone number (with Telekom) |
|
*140 |
Displays tariff details (with O2) |
|
*#0228# |
Displays battery status (on some devices) |
|
*#*#0283#*#* |
Audio test for speaker and microphone (for Samsung) |
|
*#0782# |
Displays the smartphone’s time (for Samsung) |
|
*#1111# |
Displays the software version (for Samsung) |
|
*#1234# |
Displays the firmware version (for Samsung) |
|
*#*#1575#*#* |
GPS test (for Samsung) |
|
*2767*3855# |
Reinstalls firmware |
|
*2767*4387264636* |
Displays the device’s product code |
|
*#3282*727336*# |
Displays the total number of calls, used and available storage space, and number of contacts (for Samsung) |
|
*#7353# |
Quick test, including for speaker, vibration, camera and touchscreen (for Samsung) |
|
*#*#8255#*#* |
Displays settings for the Google Talk app |
|
*#*#7780#*#* |
Resets to factory settings |
|
*#12580*369*# |
Displays system information |
|
*#32489# |
Displays the device encryption in use |
|
*#*#4636#*#* |
Displays battery information, displays phone information, displays Wi-Fi information, changes status, displays usage statistics |
|
*#*#273283*255*663282*#*#* |
Copies camera photos |
|
*#*#197328640#*#* |
Enables service mode |
This article originally appeared on our sister publication PC-WELT and was translated and adapted from German.