RunLocalTools

Phone Number Parser & Formatter (Free, Bulk Supported)

Parse and format phone numbers — get E.164, international, national formats, country, and number type. Paste one number or a whole list. Free, runs in your browser.

What it does

Paste a phone number and instantly see it validated and reformatted every useful way at once: E.164 (+14155552671), international (+1 415 555 2671), national ((415) 555-2671), a tel: link, its country, and its number type — mobile, fixed line, toll-free, VoIP, and more. Need to check a whole list? Switch to bulk mode, paste (or upload) as many numbers as you like, and get a sortable, filterable, exportable results table.

How it works

Parsing and formatting are handled by Google’s libphonenumber library — the same validation logic behind Android’s phone dialer — running entirely in your browser via a small library file your browser downloads once and then works offline. A number that already starts with + is read using its own country code; a number without one is parsed against whichever default country you’ve selected, so a local-format number like (415) 555-2671 is correctly understood as a US number.

Type detection distinguishes mobile from fixed-line, toll-free, premium-rate, VoIP, and a few other categories, based on the number ranges each country’s carriers actually allocate — not a guess. One thing this tool deliberately does not offer is carrier-name lookup (“who’s the network behind this SIM”): that data isn’t reliably available client-side, and a free tool guessing wrong is worse than a free tool saying so plainly.

How to use it

  1. Pick your default country — this only matters for numbers typed without a leading +.
  2. For one number, just start typing in the single-number field.
  3. For a list, switch to Bulk, paste one number per line (or drop a .csv/.txt file — the first column is used), and the whole list is parsed at once.
  4. Sort or filter the bulk results table by validity, country, or type, and click any value to copy it.
  5. Export the results as a CSV when you’re done.

If your numbers came out of an exported vCard/contacts file rather than a plain list, convert it to CSV first with the vCard to CSV tool, then paste the phone-number column in here.

FAQ

Why isn’t there a carrier lookup (which network a number belongs to)?

Because it isn’t something that can be determined reliably without a live, paid API — a free tool guessing at it would just be wrong often enough to be misleading. Everything this tool reports (format, validity, country, type) is derived from published numbering-plan data, not a guess.

What’s the difference between “valid” and “possible”?

“Possible” means the number has a plausible length and structure for its country. “Valid” is stricter — it checks the number against that country’s actual allocated number ranges. A number can be possible (right length) but not valid (that specific range was never assigned).

Does it handle numbers with extensions, like “ext. 123”?

Yes — a recognized extension is parsed out separately and shown alongside the formatted number rather than breaking the parse.

Can I paste numbers in mixed formats — some with dashes, some with parentheses, some with just digits?

Yes, in both single and bulk mode. As long as a number is either internationally formatted (starts with +) or matches your selected default country, formatting style (dashes, dots, spaces, parentheses) doesn’t matter.

Is there a limit on how many numbers I can bulk-parse?

No hard limit — it’s processed locally in your browser, so it’s bounded only by your device, not by any upload quota.