Bulk Phone & Postal Code Cleaner
Paste a messy list — one value per line or a whole CSV column — and get every North American phone number normalized to +1 (XXX) XXX-XXXX, every Canadian postal code checked against the real A1A 1A1 rules, and every US ZIP validated. Each row gets a status and a plain-English reason, and the whole thing exports as CSV.
الصق قائمة وانقر على تنظيف القائمة
ستحصل على جدول لكل صف يوضح ما كان صالحًا بالفعل، وما أُعيدت صياغته، ولماذا فشل أي شيء بالضبط — بالإضافة إلى ملف CSV يمكنك إعادته مباشرة إلى نظام إدارة العملاء لديك.
ما الذي يُعدّ صالحًا (ولماذا)قواعد أرقام NANP، الحروف الثمانية عشر لمناطق الرمز البريدي الكندي، صيغ ZIP
أرقام الهاتف (NANP)
الرقم في أمريكا الشمالية بصيغة NPA-NXX-XXXX حيث N من 2-9 وX من 0-9. يجب أن يبدأ كل من رمز المنطقة ورمز المقسم بـ 2-9، ولا يمكن أن يكون أي منهما رمز N11 (211، 311 … 911) لأن هذه الرموز محجوزة للخدمات. الرموز 370-379 و960-969 محجوزة للتوسع المستقبلي، و555-0100 إلى 555-0199 هو النطاق الوحيد المحجوز للأرقام الوهمية. تُحفظ التحويلات (x، ext، poste).
الرموز البريدية الكندية
الصيغة هي A1A 1A1. ثمانية حروف — D, F, I, O, Q, U, W, Z — لا تُستخدم في أي موضع، غالبًا لأنها يسهل الخلط بينها وبين الأرقام. الحرف الأول يمثل منطقة بريدية، وهذه الحروف الثمانية عشر فقط مخصصة:
الرقم 0 في الموضع الثاني يشير إلى طريق ريفي، وتذكر الأداة ذلك لك.
رموز ZIP الأمريكية
خمسة أرقام، أو تسعة لـ ZIP+4 (موحّدة إلى 12345-6789). تُحفظ الأصفار البادئة — وهو خطأ شائع عندما تمر القائمة عبر جدول بيانات يحوّل 01234 إلى 1234.
من أين تأتي هذه القواعد
- إحصاء كندا — المواصفات التقنية للرمز البريدييؤكد صيغة ANA NAN، والحروف الثمانية غير المستخدمة (D وF وI وO وQ وU وW وZ)، وخريطة المناطق البريدية حسب الحرف الأول، وقاعدة '0 في الموضع الثاني' للطرق الريفية.
- خطة ترقيم أمريكا الشمالية — البنية والرموز المحجوزةقيود أرقام NPA/NXX، ورموز خدمة N11، واحتياطيات التوسع 37X/96X، والنطاق الوهمي 555-01XX.
يتحقق هذا من الصيغة والبنية، وليس مما إذا كان الرقم أو العنوان قيد الخدمة فعليًا — وهذا يتطلب تحققًا مباشرًا من مزود الخدمة أو من البريد الكندي. يعمل كل شيء في متصفحك على دفعات، بحيث تبقى الصفحة سريعة الاستجابة عند لصق 10000 صف ولا تُرفع قائمة جهات اتصالك إلى أي مكان أبدًا.
Real validation, not just a length check
Most bulk cleaners count digits and stop there. That accepts a lot of junk that will bounce the moment you try to dial it or mail it. This one applies the actual structural rules:
- The exchange code is checked, not just the area code. In the NANP both the 3-digit area code and the 3-digit exchange code must start with 2-9, and neither can be an N11 code (211, 311 … 911). A number like
416-055-1234has ten perfectly good digits and is still impossible — this tool says why. - Reserved ranges are rejected. Area codes 370-379 and 960-969 are held back for future expansion and aren't in service, and 555-0100 to 555-0199 is the block officially reserved for fictional numbers — so a placeholder that slipped into your CRM gets caught rather than exported.
- Postal-code letters are checked against the real alphabet. Canada uses only 18 of the 26 letters: D, F, I, O, Q, U, W and Z appear nowhere in a postal code. The first letter also has to be an assigned postal district, so
D1A 1A1is rejected with a reason rather than passing a naive[A-Z]\d[A-Z]pattern. - Leading zeros survive. ZIP
01234stays five digits instead of becoming 1234 — the classic damage a spreadsheet does to an address list on the way in.
Built for big lists
Rows are processed in chunks with the main thread handed back between each one, so a paste of several thousand contacts shows a live progress bar instead of freezing the tab. Nothing is uploaded: the entire list stays in your browser, which matters when the file is your customer database. Duplicates are flagged after normalization, so 416-555-1234 and (416) 555 1234 are correctly caught as the same number.
الأسئلة الشائعة
How do I bulk clean phone numbers and postal codes from a CSV for free?
Paste the list into the box above - either one value per line, or paste whole CSV rows and pick which column holds the data. Click Clean list and every row is normalized and validated: phone numbers become +1 (XXX) XXX-XXXX, Canadian postal codes become A1A 1A1, and US ZIPs become 12345 or 12345-6789. You get a per-row table showing valid, fixed or invalid with the reason, then download a CSV report or copy just the cleaned values back into your spreadsheet. It's free, needs no account, and there's no row limit.
Which letters are not used in Canadian postal codes?
Eight of them: D, F, I, O, Q, U, W and Z are not used anywhere in a Canadian postal code, largely because they're easily confused with digits or with each other when handwritten or machine-read. That leaves 18 usable letters. The first letter carries extra meaning - it identifies a postal district, running roughly east to west from A (Newfoundland and Labrador) through V (British Columbia), with X for the Northwest Territories and Nunavut and Y for Yukon. This tool checks both rules, so an unassigned district letter is reported as an error rather than quietly accepted. A zero in the second position means a rural route, which the tool notes for you.
What makes a phone number structurally invalid?
Under the North American Numbering Plan a number is NPA-NXX-XXXX, where the first digit of both the area code and the exchange code must be 2-9. So an exchange starting with 0 or 1 is impossible even though the digit count looks right - that's the check most tools skip. N11 codes (211, 311, 411, 511, 611, 711, 811, 911) are reserved for services and can't be an area code or an exchange. Area codes 370-379 and 960-969 are reserved for future expansion. And 555-0100 through 555-0199 is the range set aside for fictional numbers, so those are flagged as placeholders rather than treated as real contacts.
Can it handle a mixed list of phone numbers, postal codes and ZIPs?
Yes - that's the default. Each row is auto-detected on its own: letters plus three digits reads as a Canadian postal code, five or nine digits as a ZIP, ten or eleven digits as a phone number. If a row is ambiguous the tool tries each type in turn and uses whichever validates. If you know your column is all one type, set the 'Expect' dropdown to that type and anything that doesn't match will be reported as invalid instead of being reinterpreted - useful for catching a ZIP that ended up in your phone column.
Will a list of several thousand rows freeze my browser?
No. The list is processed in chunks of 500 rows with control handed back to the browser between chunks, so the page stays responsive and you get a live progress bar. A few thousand rows finish in well under a second. On screen the table shows the first 1,000 rows to keep rendering fast, but the CSV download always contains every row you pasted.
Does this check whether a number or address really exists?
No, and no free client-side tool can. This validates format and structure - that a number obeys the NANP's digit rules and that a postal code uses a real district letter and the correct letter/digit pattern. Confirming that a phone line is actually in service or that a postal code maps to a deliverable address needs a live carrier lookup or a Canada Post address validation service. What this catches is the large share of list problems that are structural: typos, transpositions, placeholder numbers, spreadsheet-mangled ZIPs and inconsistent formatting.