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.
Cole uma lista e clique em Limpar lista
Você terá uma tabela linha a linha mostrando o que já era válido, o que foi reformatado e exatamente por que algo falhou — além de um CSV que pode levar direto de volta ao seu CRM.
O que conta como válido (e por quê)Regras de dígitos do NANP, as 18 letras de distrito postal canadenses, formatos ZIP
Números de telefone (NANP)
Um número norte-americano é NPA-NXX-XXXX, onde N é 2-9 e X é 0-9. Tanto o código de área quanto o código de central devem começar com 2-9, e nenhum pode ser um código N11 (211, 311 … 911), pois são reservados para serviços. 370-379 e 960-969 são reservados para expansão futura, e 555-0100 a 555-0199 é o único bloco reservado para números fictícios. Ramais (x, ext, poste) são mantidos.
Códigos postais canadenses
O formato é A1A 1A1. Oito letras — D, F, I, O, Q, U, W, Z — não são usadas em nenhuma posição, principalmente porque são fáceis de confundir com dígitos. A primeira letra é um distrito postal, e apenas estas 18 estão atribuídas:
Um 0 na segunda posição indica uma rota rural, o que a ferramenta observa para você.
Códigos ZIP dos EUA
Cinco dígitos, ou nove para ZIP+4 (normalizado para 12345-6789). Zeros à esquerda são preservados — uma falha comum quando uma lista passou por uma planilha, que transforma 01234 em 1234.
De onde vêm essas regras
- Statistics Canada — Especificações técnicas do código postalConfirma o formato ANA NAN, as oito letras não usadas (D, F, I, O, Q, U, W, Z), o mapa de distritos postais pela primeira letra e a regra do '0 na segunda posição' para rotas rurais.
- North American Numbering Plan — estrutura e códigos reservadosRestrições de dígitos NPA/NXX, códigos de serviço N11, reservas de expansão 37X/96X e o intervalo fictício 555-01XX.
Isso valida formato e estrutura, não se um número ou endereço está realmente em serviço — isso exige uma verificação ao vivo com uma operadora ou com o Canada Post. Tudo roda no seu navegador em blocos, para que uma colagem de 10.000 linhas continue responsiva e sua lista de contatos nunca seja enviada a lugar nenhum.
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.
Perguntas frequentes
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.