# Mobile number portability (MNP)

> Mobile number portability lets subscribers keep their number when they switch networks. Why it breaks prefix-based carrier detection and how to handle it.

Canonical: https://mobilevalidate.com/glossary/mobile-number-portability · Last updated: 2026-09-25

![A cell tower sends signal to a SIM card; the line type is identified as mobile rather than landline or VoIP.](https://mobilevalidate.com/images/carrier-and-line-type-lookup.svg)

*Carrier lookup returns the line type (mobile, landline or VoIP) and the network behind the number.*


Mobile number portability (MNP) is the right of a mobile subscriber to keep their phone number when they move to a different mobile network. Once a number has been ported, the network that serves it is no longer the one its number range was originally allocated to.

## Why was number portability introduced?

Regulators introduced portability to make switching easier and increase competition. Without it, changing operator meant changing number, and that kept customers with their existing provider.

Some milestones from public regulatory sources:

- **United States:** the FCC required wireless local number portability from 24 November 2003. Customers could then move a number between wireless carriers, and from a landline to a wireless service.
- **Canada:** wireless number portability started on 14 March 2007 (CRTC).
- **European Union:** the European Electronic Communications Code (Directive (EU) 2018/1972, Article 106) requires that a number be ported and activated within one working day of the agreed date.

Most countries with competitive mobile markets now offer MNP in some form.

## Why does portability matter for messaging and fraud checks?

Because the prefix no longer tells you the network. Many systems still guess the carrier from the first digits of a number. That guess goes wrong for every ported number, and it can lead to:

- **wrong routing and pricing**, when an SMS provider bills or routes by destination network;
- **wrong line-type assumptions**, when a number moves from a landline to a mobile or VoIP service (US rules allow this);
- **missed fraud signals**, when a recent port is part of an account-takeover attempt. In a *port-out scam*, a criminal moves a victim's number to a SIM they control so they can receive the victim's one-time passcodes.

## How does a network know where a ported number lives?

Countries handle this differently. Many run a central number portability database that lists every ported number and its current network. Others make each network keep a copy. When a call or SMS is routed, the sending network queries that data, or the home register, to find the right destination. An [HLR lookup](/glossary/hlr-lookup) reads the result of this process directly from the network. A carrier lookup reads it from reference data that is refreshed regularly.

## How do I detect ported numbers with MobileValidate?

- The [carrier lookup](/services/carrier-lookup) returns the current `carrier` and, when it differs, the `original_carrier`. A difference means the number was ported.
- The [US and Canada carrier lookup](/services/us-carrier-lookup) returns the current carrier for North American numbers, where porting is common.
- The [HLR lookup](/services/hlr-lookup) (coming soon) will return a `ported` flag together with the current network and its [MCC/MNC](/glossary/mcc-mnc) code.

A port by itself is normal. Millions of people switch operators. Treat it as context, and combine it with other signals, such as a very recent port shortly before a password reset.

## Frequently asked questions

### Can I tell a number's carrier from its prefix?

Not reliably, in any country with number portability. The prefix shows which network the range was allocated to. A ported number is served by a different network.

### Does porting change the number's country?

No. Numbers are ported between networks within the same country. The country code stays the same.

### How do I find out whether a number was ported?

Compare the current carrier with the carrier the range was allocated to. MobileValidate's carrier lookup returns original_carrier when the two differ, and the upcoming HLR lookup will return a ported flag.
