Phone Number Link with Extension: tel: Pause Codes Explained
A clickable phone link with an extension uses pause codes — commas for short pauses, semicolons for “wait for tone.” Get the syntax right and your tel: link dials the extension automatically. Get it wrong and the user hears a beep and has to type the extension manually.
The basic format
<a href="tel:+14155552671,123">Sales — ext. 123</a>The comma after the main number tells the phone to wait ~2 seconds, then dial the extension digits.
Comma vs semicolon
| Code | What it does | Use when |
|---|---|---|
, (comma) | Pauses ~2 seconds, then dials | Standard extension after main answer |
; (semicolon) | Waits for user input before dialing | Complex IVR or password prompts |
,, (double comma) | ~4-second pause | Slow IVR systems |
p (older code) | Same as comma | Legacy, avoid |
w (older code) | Same as semicolon | Legacy, avoid |
Stick to commas and semicolons — they’re universal across iOS and Android.
Practical examples
Direct dial extension
tel:+14155552671,123Calls the main number, waits 2 seconds, dials 123.
IVR navigation: “Press 2 for sales, then enter ext.”
tel:+14155552671,2,,123Calls main, waits 2s, presses 2, waits 4s for the IVR menu to advance, dials extension 123.
Conference bridge with PIN
tel:+14155552671,,,123456#Triple comma = ~6-second pause for the bridge prompt, then dials the PIN with #.
Wait-for-tone (semicolon)
tel:+14155552671;ext=123Some Android implementations support ;ext=. iPhone uses commas. For cross-platform, prefer commas.
How long is one comma?
Roughly 2 seconds, but it depends on the phone OS:
- iOS: ~2 seconds per comma.
- Android: ~2 seconds per comma.
- Older feature phones: varies wildly. Don’t optimize for them.
If your IVR’s auto-attendant takes 6 seconds before accepting input, use 3 commas.
Tuning for slow IVR systems
Test your tel: link against the actual IVR. Common adjustments:
- “Press 1 for English” (immediate): 1 comma.
- Greeting that goes “Welcome to Acme. For sales, press 2…” (5 seconds): 3 commas.
- Slow corporate IVR with multiple greetings: 4-5 commas, semicolon, retry.
Always test with the actual phone number.
Visible vs href format
<a href="tel:+14155552671,123">(415) 555-2671 ext. 123</a>The href stays clean (no spaces, no parentheses). The visible text can use any human-readable format.
Adding a long PIN or passcode
tel:+14155552671,,,1234567890#Conference bridges typically require # at the end of the PIN to confirm. Include it.
Using ;ext= on Android
Some Android tel: implementations recognize:
tel:+14155552671;ext=123It’s standardized in RFC 3966. iOS doesn’t support it consistently. For cross-platform, comma syntax is safer.
Common mistakes
- Putting the extension after a hyphen.
tel:+14155552671-123is invalid. - Using letters in the number. Some carriers don’t translate
tel:1-800-FLOWERSto digits. - Not enough commas. Extension dials before the IVR is ready, gets ignored.
- Too many commas. Wastes user time. Tune for the actual IVR delay.
- Forgetting
+and country code. tel: links should always be in international format.
FAQ
Will the extension dial automatically on every phone?
Modern iOS and Android: yes. Older phones: usually yes. Some VoIP apps and tablets: depends on the app’s tel: handler.
Can I include a # or *?
Yes. Both are valid in tel: URLs. Common for IVR confirmations.
What if the user wants to skip the extension dial?
They can interrupt the auto-dial during the pause. Both iOS and Android show the upcoming digits and let the user cancel.
Does this work with WhatsApp Business voice calls?
No — WhatsApp’s voice infrastructure doesn’t honor tel: extension codes. Use plain phone numbers for WhatsApp calling.
Can I have spaces in the href?
No. Strip them. tel:+1 415 555 2671,123 often fails. Use tel:+14155552671,123.
Build the link in seconds
The phone call URL generator handles country codes and formatting. Add the comma + extension at the end manually for now. Pair with the QR code generator for print materials.