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

CodeWhat it doesUse when
, (comma)Pauses ~2 seconds, then dialsStandard extension after main answer
; (semicolon)Waits for user input before dialingComplex IVR or password prompts
,, (double comma)~4-second pauseSlow IVR systems
p (older code)Same as commaLegacy, avoid
w (older code)Same as semicolonLegacy, avoid

Stick to commas and semicolons — they’re universal across iOS and Android.

Practical examples

Direct dial extension

tel:+14155552671,123

Calls the main number, waits 2 seconds, dials 123.

IVR navigation: “Press 2 for sales, then enter ext.”

tel:+14155552671,2,,123

Calls 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=123

Some 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=123

It’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-123 is invalid.
  • Using letters in the number. Some carriers don’t translate tel:1-800-FLOWERS to 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.