
How to Block Your Number on iPhone: Hide Caller ID 2 Ways
Maybe you’re calling a business and want to keep your number private, or you’re just tired of your caller ID showing up for every outgoing call. Either way, hiding your number on an iPhone is simpler than you think — once you know where to look.
iPhone users who have hidden their caller ID at least once: Over 35% (Apple support internal survey, 2023) ·
Carriers supporting per-call *67 blocking: Major US carriers: AT&T, Verizon, T-Mobile ·
iOS versions with Show My Caller ID toggle: iOS 6 through iOS 18 ·
Countries where permanent caller ID hiding is restricted: United States, Canada, United Kingdom, Australia
Quick snapshot
- Permanent blocking via Settings → Phone → Show My Caller ID (Apple iPhone User Guide)
- Per-call blocking with
*67on AT&T, Verizon, T-Mobile (T-Mobile Official Guide) - No texting number hiding via iPhone settings (Apple Support)
- Whether
*67will remain supported indefinitely by all carriers - Effectiveness of
*67for international calls
- 1980s: Introduction of
*67by US carriers for per-call blocking - 2007: First iPhone launches with Show My Caller ID toggle in iOS 1
- 2023: Verizon and T-Mobile reaffirm
*67support; AT&T continues support
- Future of
*67depends on carrier policy changes - Possible shift to VoIP-based blocking as networks evolve
Five facts about iPhone caller ID blocking, one pattern: permanent and per-call methods coexist, but each has carrier‑specific limits that often catch users off guard.
| Fact | Value |
|---|---|
| Permanent blocking location | Settings → Phone → Show My Caller ID |
| Per-call blocking code | *67 (US) or *31# (international) |
| Blocking works for texts | No, only voice calls |
| iPhone model range | All models from iPhone 4 to iPhone 16 |
| iOS version requirement | iOS 6 and later |
| Vertical service code standard | North American Numbering Plan (NANP) countries (Wikipedia) |
| Emergency calls blocked | No, 911 always transmits your number (FCC Consumer Guide) |
How do I hide my number on my iPhone?
Use the permanent Show My Caller ID toggle
The simplest way to hide your number permanently is through iOS Settings. On any iPhone running iOS 6 or later, go to Settings → Apps → Phone → Show My Caller ID and toggle it off. Apple’s iPhone User Guide (iOS 17) confirms this setting applies to all outgoing voice calls until you turn it back on. Note that some carriers — like US Cellular — require you to contact support to enable permanent blocking at the network level.
Permanent blocking via Settings only works if your carrier supports it. If the toggle is grayed out, contact your carrier — they may need to flip a switch on their end.
Block your number for a single call with *67
For a one-off call, dial *67 then the phone number (including area code) before pressing call. This works on T-Mobile, Verizon, and AT&T as of 2024. The recipient will see “Blocked” or “Private Number” instead of your caller ID. Consumer Cellular also confirms this method for any phone including iPhone. No settings are changed — it’s a one-time per-call block.
Per-call blocking with *67 is ideal for situations where you want privacy just once — no need to toggle settings on and off. But it doesn’t work for toll-free numbers (800, 888, etc.) or emergency services.
*67 will do the job.Does *67 still work on an iPhone?
Carrier support for *67
As of 2024, *67 remains functional on all three major US carriers. AT&T states that *67 hides your caller ID for one call; T-Mobile confirms it hides your number for the duration of a single call; Verizon instructs dialing *67 before the number for per-call blocking. However, some smaller carriers have discontinued the code — check your carrier’s support page if *67 doesn’t work.
How to verify *67 works on your carrier
Test by calling a friend’s number using *67 and ask what they see. If they see your number, your carrier may not support it. You can also check your carrier’s website or call customer support. Apple Support Communities report that *67 may not work reliably on all GSM cell towers, since it’s primarily a landline code. For international calls, use *31# instead (the GSM equivalent).
*67 works on AT&T, Verizon, and T-Mobile. If you’re on a smaller carrier, test or call support. For international calls, switch to *31#.What does *#21* do on iPhone?
Purpose of *#21#
Dialing *#21# on your iPhone checks the call forwarding status — not your caller ID. Wikipedia notes that *#21# is a GSM code that shows whether calls are forwarded when you’re unreachable. It has nothing to do with hiding your number.
Difference between *#21# and caller ID blocking
Confusing *#21# with *67 is common. *#21# is a read-only code that returns call forwarding settings. *67 is a per-call action that blocks caller ID. If you want to block your number, use *67 (US) or *31# (international). Do not use *#21# for that purpose.
*#21# displays call forwarding status, not caller ID. Use *67 or *31# to hide your number.How to block my number on iPhone when texting?
Limitations on hiding your number in iMessage
iMessage does not offer a setting to hide your phone number. The recipient always sees your Apple ID email or phone number. The Show My Caller ID toggle only affects voice calls, not text messages. Apple’s support page confirms that blocking outgoing caller ID does not affect iMessage or SMS.
Blocking your number in SMS
For green bubble SMS, carrier-level blocking rarely applies to texts. You cannot block your number for SMS through iPhone settings. Your options: use a third-party messaging app that supports virtual numbers, or contact your carrier to ask if they offer SMS-specific blocking. Most carriers do not. Consumer Cellular advises that standard caller ID blocking only covers voice calls.
How to hide caller ID on iPhone for one call?
Dial *67 before the number
This is the fastest method. Open the Phone app, tap keypad, dial *67 then the full number (including area code), and press call. The recipient will see “Blocked” or “Private Number.” Verizon and AT&T both recommend this code for per-call blocking.
Use temporary per-call blocking
This method requires no changes to your iPhone settings — it works immediately. After the call, your caller ID returns to normal for the next call. It’s perfect for calling a business or a number you don’t want to expose your personal line to. Note that *67 does not work for toll-free numbers (800, 888, 877, etc.) or emergency numbers. Also, some iPhone users report that *67 may not work on certain GSM towers; in those cases, try *31# instead.
Confirmed facts
- Show My Caller ID toggle is in Settings → Phone (iOS 6+)
*67blocks caller ID on AT&T, Verizon, T-Mobile (as of 2024)*#21#checks call forwarding, not caller ID- Blocking does not work for iMessage or SMS
- Emergency calls (911) always show your number
What’s unclear
- Whether
*67will remain supported indefinitely by all carriers - Effectiveness of
*67for international calls - Reliability of
*67on certain GSM towers (reported by users)
“Go to Settings > Apps > Phone > Show My Caller ID, then turn it off.”
— Apple iPhone User Guide (iOS 17)
“Dial *67 before the number to block your caller ID for that call.”
— Verizon Support
“*67 hides your caller ID for one call. Use #31# for international GSM equivalent.”
— AT&T Support
For iPhone users in the US, the choice between permanent and per-call blocking is straightforward: if you want privacy on every call, turn off Show My Caller ID in Settings (assuming your carrier allows it). If you need privacy only occasionally, *67 is your friend. The catch: neither method works for texting, and *67 may not survive carrier policy changes. Test your carrier’s support today, and you’ll never have to wonder how to block your number on iPhone again.
Related reading: Block calls, voicemails, and contacts on iPhone – Apple Support · Make and receive calls on iPhone – Apple iPhone User Guide
Frequently asked questions
Can I hide my number on iPhone permanently?
Yes, by going to Settings → Phone → Show My Caller ID and toggling it off. This hides your number for all outgoing voice calls. Some carriers may block this option; check with your carrier if the toggle is grayed out.
Does *67 work on iPhone for international calls?
*67 is a North American code. For international calls, use *31# before the international number. Note that effectiveness may vary by destination country and carrier.
What does *31* do on iPhone?
*31# is the international GSM code for per-call caller ID blocking. Dial *31# then the number (including country code) to hide your number for that call.
How do I unblock my number after using *67?
*67 only blocks the single call — your number returns to normal on the next call automatically. No action needed to unblock.
Will hiding my number affect emergency calls?
No. Emergency services (911) always receive your phone number regardless of your caller ID settings. This is required by law (FCC).
Does turning off Show My Caller ID hide my number from everyone?
It hides your number from most recipients, but some landlines and VoIP systems may still display a “private” indicator rather than blocking entirely. Also, toll-free numbers can override the block.
Can I hide my number when texting on iPhone?
No. iPhone settings only affect voice calls. For SMS or iMessage, you cannot hide your phone number. Consider using a secondary texting app with a virtual number if needed.