Phone Number Formatter

Type a phone number from any of 245 countries and regions to check whether it is valid, see whether it is a mobile or landline number, and get it in E.164, international, national and tel: link format. Paste a list to format many at once. Everything runs in your browser.

Try:

📚 Format reference

E.164 format
+12015550123
International standard: +, country code and number, no spaces
International format
+1 201 555 0123
Human-readable with spaces
National format
(201) 555-0123
How the number is dialled inside the country
RFC 3966 (tel: URI)
tel:+12015550123
Used in HTML <a href> links to start a call

Summary: how to use a free phone number formatter privately

A phone number formatter reads a phone number and rewrites it in a standard layout. To format one, pick the Country the number belongs to (you can skip this if it starts with + and a calling code), type or paste it under Phone number and press Format. You get the E.164 form (+12015550123), the international form (+1 201 555 0123), the national form ((201) 555-0123), an RFC 3966 tel: address and a ready-made HTML link. The tool also reports whether the number is possible and valid, its country, and its type, such as mobile or fixed line.

Formatting runs in your browser. The first time you click or focus the tool, the page downloads a static file of numbering-plan data; your numbers are never part of any request, so nothing is uploaded. As of October 2026 the data comes from libphonenumber-js 1.12.33, built on Google's libphonenumber project. Numbering plans change, so use "valid" to mean "fits today's plan", not "this line is connected".

The four output formats

FormatExampleBest for
E.164+12015550123Databases, SMS and calling services: one unambiguous value, at most 15 digits
International+1 201 555 0123Showing a number to readers in other countries
National(201) 555-0123Showing a number to readers in the same country
RFC 3966 (tel: URI)tel:+12015550123The href of a click-to-call link

An extension has no place in E.164, so it is left out of that line. The international and national forms print it with the country's usual marker ("ext. 12" for a US number, "x12" for a UK number), and the tel: URI keeps it as ;ext=12.

Table of Use: input and result

You type (default country)E.164NationalReported as
(201) 555-0123 (US)+12015550123(201) 555-0123Valid, fixed line or mobile
020 7946 0958 (UK)+442079460958020 7946 0958Valid, fixed line
98765 43210 (India)+919876543210098765 43210Valid, mobile
0612345678 (France)+3361234567806 12 34 56 78Valid, mobile
+49 30 901820 (any)+4930901820030 901820Valid, fixed line, Germany
12345 (US)+112345 (best guess, unusable)12345Invalid: too short or too long for the country

These are sample numbers for checking formats, not numbers to dial. When a number is invalid the tool still prints its best-guess lines, so read the Valid badge before copying anything.

Features

  • 245 countries and regions with 206 different calling codes. The Country menu lists ten common countries first, and preselects one from your browser language without sending anything.
  • Forgiving input. Brackets, spaces, dots, hyphens, full-width digits and a trailing extension such as "ext. 12" are all read.
  • Two checks: Possible length and Matches numbering plan, with a plain explanation when either fails.
  • Number type where the data knows it: mobile, fixed line, toll-free, premium rate, shared cost, VoIP, personal number, pager, universal access number or voicemail.
  • Five copy rows: E.164, international, national, RFC 3966 and an HTML link.
  • Batch mode for up to 5,000 numbers. The table shows the first 500 rows and the CSV holds all of them, with input, status, all four formats, country and type.

Cleaning a contact export? Format the list, copy the valid rows as E.164, then paste them into remove duplicate lines: the same number typed three ways now matches itself. Use sort lines alphabetically to group them by country code. Identifiers that do carry a check digit have their own validators: the IBAN validator and the ISBN validator.

How to Use the Phone Number Formatter

  1. Stay on Single Number. Choose the Country (if no + prefix), or ignore it when you will type the + and calling code yourself.
  2. Type or paste the number under Phone number, or click one of the Try examples.
  3. Press Format. Read the headline (Valid, Possible length but not a valid number, or Invalid) and the two check badges.
  4. Press Copy beside the format you need under Formatted outputs. Number details lists the calling code, national number and type.
  5. For a list, choose Batch Formatting, set Default country (for numbers without +), paste one number per line and press Format All.

Putting a number on a web page? Give it a tel: link from the HTML link row. Want people to scan it instead? The QR code generator has a Phone type. Before you call abroad, check the other end's clock with the world clock or the time zone converter.

Who Can Use It

  • Developers normalising user input to E.164 before it reaches a database or an SMS service, and testing against known formats.
  • Sales, support and marketing teams tidying CRM and spreadsheet exports so duplicates line up. For email columns, the email validator does the same job.
  • Web designers and small business owners adding click-to-call links, or printing numbers on a business card or a sheet of address labels.
  • Testers who need sample records: pair the name generator with the examples above.

FAQs

What is E.164 format?

E.164 is the ITU international numbering standard. A number in E.164 format starts with +, then the country calling code and the national number, with no spaces, brackets or trunk prefix such as a leading 0, and at most 15 digits in total, for example +442079460958. It is the safest form for storing numbers in databases and sending them to SMS and calling services.

What is a country calling code?

The country calling code is the 1 to 3 digit prefix that identifies a country or region when dialling internationally, for example +1 for the United States and Canada, +44 for the United Kingdom and +91 for India. Several places can share one code: +1 also covers many Caribbean islands, and +44 also covers Guernsey, Jersey and the Isle of Man.

Why might a number be "possible" but not "valid"?

A number is possible when its length is one the country uses. It is valid only when its digits also fall inside a range allocated in that country's numbering plan. A made-up number of a permitted length counts as possible, and in many countries it is valid too, because whole blocks of numbers are allocated: the sample (201) 555-0123 on this page is reported Valid. So neither check proves a number is real, connected or whose it is.

How does the tool know if a number is mobile or landline?

It compares the number with numbering-plan data from Google's libphonenumber project, used here through the libphonenumber-js library, which lists the ranges each country uses for mobile, fixed-line, toll-free, premium-rate and other services. In the United States and Canada mobile and landline share ranges, so the type reads "Fixed line or mobile". A number moved to another network keeps its range, so treat the type as a strong hint.

Why does my UK number show as Guernsey or Jersey?

Guernsey, Jersey and the Isle of Man use the UK +44 code, and some ranges belong to them. When a number falls in one of those ranges the tool names the territory instead of the United Kingdom. The formatted number is identical either way, so the result is still correct to dial and to store.

How do I make a click-to-call phone link in HTML?

Use the RFC 3966 tel: URI as the href of a link: for example, href="tel:+442079460958" with the link text +44 20 7946 0958. Put the E.164 digits after tel: so the link works from any country. After you press Format, the HTML link row gives you a matching anchor, with the international form as the link text, ready to copy, and the RFC 3966 row gives just the tel: address.

How do I format a whole list of phone numbers?

Choose Batch Formatting, pick the Default country for numbers without a +, paste one number per line (up to 5,000) and press Format All. Use Copy valid as E.164 or Copy valid as international for the valid rows, or CSV (all rows) to download every row with its status, country and type.

Is it safe to use, and are my numbers sent anywhere?

Parsing, validation and formatting all run in your browser. The numbering-plan data is a static file the page downloads the first time you click or focus the tool, and the numbers you type or paste are never part of any request, which you can confirm in the Network tab of DevTools. Nothing is sent to ZipConvert or any other service.