User Rating 0.0
Total Usage 0 times
Is this tool helpful?

Your feedback helps us improve.

About

Canadian telephone numbers follow the North American Numbering Plan (NANP), structured as +1 NPA NXX XXXX, where NPA is the three-digit area code and NXX is the central office code. The Canadian Numbering Administrator (CNA) manages over 40 geographic and overlay area codes across 13 provinces and territories. A malformed test number can trigger false positives in validation pipelines, corrupt CRM imports, or violate CRTC regulations if accidentally dialed. This generator produces structurally valid numbers using real Canadian NPA codes while ensuring the subscriber portion is randomized, making them suitable for software testing, UI mockups, database seeding, and form validation development.

Numbers generated here are syntactically correct but not guaranteed to be unassigned. Do not use generated numbers for any purpose that involves actual dialing or SMS transmission. The tool excludes reserved patterns such as X11 service codes and 555 fictional prefixes by default. For load testing, batch generate up to 100 numbers per run with province-level filtering and export to clipboard or CSV.

canadian phone number random phone generator canada area code NANP fake phone number test phone number phone number generator

Formulas

Canadian phone numbers conform to the NANP standard. The full international format is:

+1 (N1X1X2) N2X3X4 X5X6X7X8

Where N {2, 3, ..., 9} and X {0, 1, ..., 9}. The first three digits form the NPA (Numbering Plan Area), which must be a recognized Canadian area code. The next three digits form the NXX (Central Office Code), which must begin with N [29] and must not match the pattern N11 (reserved for services like 911, 411). The final four digits are the subscriber number, uniformly random across 00009999.

The total theoretical number space per area code is calculated as:

Total = 8 × 10 × 10 × 104 8 × 104 = 7,920,000

The subtracted 80,000 accounts for 8 blocked N11 patterns (211, 311, ..., 911) each with 10,000 subscriber lines. This generator also optionally excludes the 555 exchange (traditionally reserved for fictional use), reducing the per-NPA pool by an additional 10,000 numbers.

Reference Data

Area CodeProvince / TerritoryMajor CitiesType
204ManitobaWinnipeg, BrandonGeographic
226OntarioLondon, Windsor, KitchenerOverlay
236British ColumbiaVancouver, VictoriaOverlay
249OntarioSudbury, Sault Ste. MarieOverlay
250British ColumbiaKelowna, Kamloops, VictoriaGeographic
289OntarioHamilton, Niagara, MississaugaOverlay
306SaskatchewanRegina, SaskatoonGeographic
343OntarioOttawa, KingstonOverlay
365OntarioHamilton, NiagaraOverlay
367QuebecQuebec City, SherbrookeOverlay
403AlbertaCalgary, Banff, LethbridgeGeographic
416OntarioToronto (core)Geographic
418QuebecQuebec City, RimouskiGeographic
431ManitobaWinnipegOverlay
437OntarioTorontoOverlay
438QuebecMontrealOverlay
450QuebecLaval, LongueuilGeographic
506New BrunswickMoncton, Saint John, FrederictonGeographic
514QuebecMontreal (core)Geographic
519OntarioLondon, Windsor, KitchenerGeographic
548OntarioLondon, KitchenerOverlay
579QuebecLaval, LongueuilOverlay
581QuebecQuebec CityOverlay
587AlbertaCalgary, EdmontonOverlay
604British ColumbiaVancouver, BurnabyGeographic
613OntarioOttawa, KingstonGeographic
639SaskatchewanRegina, SaskatoonOverlay
647OntarioTorontoOverlay
672British ColumbiaVancouverOverlay
705OntarioBarrie, Sudbury, North BayGeographic
709Newfoundland & LabradorSt. John's, Corner BrookGeographic
742OntarioHamilton, NiagaraOverlay
778British ColumbiaVancouver, VictoriaOverlay
780AlbertaEdmonton, Fort McMurrayGeographic
782Nova Scotia / PEIHalifax, CharlottetownOverlay
807OntarioThunder Bay, KenoraGeographic
819QuebecGatineau, SherbrookeGeographic
825AlbertaCalgary, EdmontonOverlay
867Yukon / NWT / NunavutWhitehorse, Yellowknife, IqaluitGeographic
873QuebecSherbrooke, GatineauOverlay
902Nova Scotia / PEIHalifax, CharlottetownGeographic
905OntarioMississauga, Hamilton, NiagaraGeographic

Frequently Asked Questions

No. The numbers are structurally valid according to the NANP format and use real Canadian area codes (NPAs), but the NXX and subscriber digits are randomized. Some generated numbers may coincidentally match assigned numbers. Never use generated numbers for dialing, SMS, or any communication purpose. They are intended solely for software testing, UI prototyping, and database seeding.
The generator enforces three core NANP constraints: (1) the NPA must be a real Canadian area code from the CNA registry, (2) the NXX central office code starts with a digit in the range 2-9 and excludes N11 service patterns (211, 311, 411, 511, 611, 711, 811, 911), and (3) the subscriber number spans 0000-9999 with uniform probability. Optionally, the 555 exchange is excluded as it is traditionally reserved for fictional use in media.
Geographic area codes were the original assignments for a region. As demand for numbers grew, overlay codes were introduced to serve the same geographic area without requiring existing subscribers to change numbers. For example, Toronto uses geographic code 416 alongside overlay codes 647 and 437. Both types are equally valid for generation. The distinction matters only if your testing scenario requires simulating calls within specific numbering plan boundaries.
Yes. The province filter restricts the NPA pool to area codes assigned to the selected province or territory. When "All Provinces" is selected, the generator picks uniformly from the full set of 42+ Canadian area codes. When a specific province is chosen, only its assigned codes are used. Note that some codes like 867 serve multiple territories (Yukon, Northwest Territories, and Nunavut) and 782/902 serve both Nova Scotia and Prince Edward Island.
Four formats are available: E.164 international (+16135551234), national with parentheses ((613) 555-1234), dashed (613-555-1234), and dotted (613.555.1234). For database testing and API integration, use E.164 as it is the ITU-T standard and eliminates ambiguity. The parenthesized national format is best for UI display testing. Dashed and dotted formats are common in Canadian user input patterns and useful for validation regex testing.
The generator uses Math.random() with rejection sampling. For the NXX, a digit 2-9 is selected for the first position, then two random digits 0-9 follow. If the result matches an N11 pattern (or 555 when excluded), the NXX is re-rolled. This rejection method preserves uniform distribution across the valid NXX space. The subscriber number is generated as a single random integer from 0 to 9999, zero-padded to four digits.