Online Playground
Browse tools

Phone Number Type Checker

Check whether a number is mobile, landline, VoIP, toll-free or premium rate.

Check the type of a number

Try

Processed locally with libphonenumber-js. Nothing you enter is sent to a server.

How it works

Three steps, all in your browser

  1. 1

    Paste your numbers

    With a + prefix, or set a default country.

  2. 2

    Read the type

    Each number is labelled mobile, fixed line, toll-free, premium rate, VoIP and so on, where the country's numbering plan says.

  3. 3

    Know the limits

    The type comes from the number range. It does not say which carrier owns it today.

In depth

Real results for 12 numbers

Each row below was classified by the checker. Numbers that are not valid in their country are left out, so you only see types that the library actually returned.

NumberCountryType
+44 7400 123456United KingdomMobile
+44 20 7946 0958United KingdomFixed line
+1 800 555 0199United StatesToll-free
+1 213 373 4253United StatesFixed line or mobile
+49 151 23456789GermanyMobile
+33 6 12 34 56 78FranceMobile
+44 909 879 0123United KingdomPremium rate
+44 845 46 47United KingdomPremium rate
+44 70 1234 5678United KingdomPersonal number
+44 56 1234 5678United KingdomVoIP
+61 412 345 678AustraliaMobile
+91 98765 43210IndiaMobile

What to do with each type

The type matters for what you plan to do with the number.

  • Mobile: the type most likely to receive a text message, so use it for verification codes and text alerts.
  • Fixed line: a landline. Good for voice calls and business contact. Most landlines cannot receive texts, though a few carriers support it.
  • Fixed line or mobile: the country does not separate the two, as in the US and Canada. You cannot tell from the number alone, so ask the user or try SMS.
  • Toll-free: free for the caller. Fine to display as a contact number, but usually not a good target for text messages.
  • Premium rate and shared cost: these cost money to call. Warn or block them in forms where users type their own number.
  • VoIP: calls over the internet. Its ranges are marked only in some countries, so absence of VoIP in a result does not prove a number is a normal line.

Why the type needs the strict data

This tool uses the library's max data set. The default smaller min set has type data for only some countries: for the German mobile number +49 151 23456789 it returns nothing, while the max set returns Mobile. If your own code calls getType(), import from libphonenumber-js/max.

What the type does not tell you

The type comes from the range a number was first assigned from. A mobile number can be moved to another carrier, or turned into a virtual number, without changing range. Treat the type as a strong hint, not a guarantee.

Number types

What each type means

TypeMeaning
MobileA number assigned to a mobile network. Can usually receive SMS.
Fixed lineA landline tied to a location. Usually cannot receive SMS.
Fixed line or mobileThe country does not separate the two, as in the US and Canada.
Toll-freeThe caller pays nothing. Examples: 0800 in the UK and 800 in the US.
Premium rateCosts the caller extra per minute or per call. Handle with care in forms.
Shared costCost is split between caller and receiver.
VoIPDelivered over the internet, not a traditional carrier. Not every country marks these ranges.
Personal numberA number that follows its owner between phones or networks.
Pager, voicemail, UANRarer ranges for pagers, voicemail access and company-wide universal access numbers.

FAQ

Questions people ask

How can a tool tell mobile from landline?

Countries assign number ranges to line types. 07 numbers in the UK are mobile and 020 numbers are London landlines. The checker compares the number to those ranges, using the metadata in libphonenumber.

Why does it say "fixed line or mobile"?

In some countries, including the US and Canada, mobile and landline numbers share the same ranges, so the type cannot be told from the number alone.

Can it tell me if a number is a prepaid or ported number?

No. Ported numbers keep their original range, so the type reflects the range, not the current network. Telling more needs a live carrier lookup.