How to Remove Private Number (Show Your Caller ID)
If your calls are showing as “Private,” “Unknown,” or “No Caller ID,” the fastest fix that works every time is your phone’s Caller ID setting — not a USSD code. Below is the verified settings method for Android and iPhone, the USSD codes people quote (and why they don’t always agree), and per-network notes for Safaricom, Airtel, and Telkom.
Show Your Number: Android (Settings Method)
- Open your Phone appTap the three dots or menu icon in the corner.
- Select SettingsSometimes labelled “Call Settings.”
- Tap Calling AccountsChoose your SIM if you’re on a dual-SIM phone.
- Tap Additional Settings, then Caller IDOn some phones this is under “Supplementary Services” or “Operator-Related Settings.”
- Select Show NumberInstead of “Hide Number” or “Network Default.”
Show Your Number: iPhone
- Open Settings, then PhoneScroll down from the main Settings screen.
- Tap Show My Caller IDNear the top of the Phone settings screen.
- Toggle it OnThe switch should turn green.
The USSD Codes (*31# and #31#) — and Why Guides Disagree
You’ll see *31# and #31# quoted online as the codes to show or hide your caller ID — but which one does which is where sources genuinely contradict each other, and we checked. Safaricom’s own official device manuals only document the phone-settings method above; they don’t publish a USSD code for this at all. The internationally standard GSM convention (used across most networks worldwide) is:
| Code | What it typically does |
|---|---|
| #31# (dial alone, then call) | Shows your number on all future calls |
| *31# (dial alone, then call) | Hides your number on all future calls |
| #31#<number> | Shows your number for that one call only |
| *31#<number> | Hides your number for that one call only |
| *#31# | Checks your current setting without changing it |
By Network: Safaricom, Airtel, Telkom
How to Call With a Private Number (Hide Your Caller ID)
Want the opposite — hide your number for a call or permanently? Use the same settings menu and choose Hide Number instead of Show Number, or dial *31#<the number you’re calling> to hide it for a single call only.
FAQ: Removing a Private Number
What is the *#31# code?
*#31# checks your current caller ID status without changing it. *31# and #31# are the codes that actually change the setting — but which one shows vs hides your number can vary by device, so the phone-settings method is the safer route if you want a guaranteed result.
How do I change my private number to normal?
Go to your Phone app’s Call Settings, find Caller ID (sometimes under Additional Settings or Supplementary Services), and select Show Number instead of Hide Number or Network Default.
How do I remove my number from a private number on Android USSD?
Dial #31# and press call with no number after it. If your number still shows as private on your next call, use the phone-settings method instead, since USSD behaviour can vary by device and network.
How do I remove my private number on Safaricom?
Use your phone’s Call Settings to set Caller ID to Show Number. Safaricom’s own device manuals only document this settings-based method; they do not publish an official USSD code for it.
Settings-method steps verified against official Safaricom device manuals. USSD code behaviour cross-checked across multiple sources — test before relying on it. Verified September 2026.


