๐Ÿ‡ฎ๐Ÿ‡น Italy (+39)

Italy Phone Number Validator & Carrier Lookup

Italy trips up more phone parsers than almost any market: its fixed-line numbers keep the leading 0 even in +39 form (Milan is +39 02โ€ฆ, the 0 intact), while mobiles never carry one. Veriphone handles the distinction and returns line type plus the operator a number was originally allocated to across TIM, Vodafone and WindTre โ€” with Iliad the fast-growing fourth entrant since 2018.

Try it โ€” Italy numbers

Free โ€” no account required. Protected by reCAPTCHA.

+39
Dial code
10
Digits after +39
3
Mobile operators
< 20ms
Lookup latency

Italy phone number format

Italy numbers carry the +39 country code and are written in full, with no separate national trunk prefix. Mobile and fixed-line ranges are distinguished by their leading digits and returned as a line_type you can filter on.

Mobile โ€” E.164 format
+39 312 345 6789
Domestic form: 312 345 6789. 10 digits after +39.
Fixed line โ€” E.164 format
+39 02 1234 5678
Domestic form: 02 1234 5678. 9 digits after +39.

Italy mobile operators & prefixes

Each mobile prefix is allocated to a specific operator. Veriphone returns that operator from the AGCOM (Autoritร  per le Garanzie nelle Comunicazioni) numbering plan, along with line type.

Each prefix belongs to one operator โ€” but a number can be ported. The prefix tells you the operator a number was originally allocated to. Because Italy allows number portability, a number can keep its prefix after switching networks, so the prefix alone doesn't guarantee the operator serving it today. A Standard lookup returns the allocated operator; add mode=current to resolve the operator serving a ported number now.
TIM
033, 036, 0370
Telecom Italia Mobile, the incumbent descended from the former state operator, holds the largest share of original fixed-line and mobile (3xx) allocations.
Vodafone
034, 0371, 0377, 0379, 0383, 03784
Vodafone Italia, formerly Omnitel, is a long-established operator with its own original 3xx blocks; Standard lookups report it as the original holder even where a number has since been ported.
WindTre
032, 038โ€“039, 0373
Formed by merging Wind and 3 Italia (H3G), it carries the combined original allocations of both legacy brands, so ranges may still show under the older Wind or 3 assignments.

Plus 2 smaller networks (MVNOs): Intermatica, spusu. Veriphone resolves each to its host network.

Fixed-line area codes

For landline numbers, Veriphone returns the city or region where the numbering plan resolves one. Mobile numbers are non-geographic and carry no city.

Rome
06
Milan
02
Naples
081
Turin
011
Florence
055
Bologna
051
Palermo
091
Genoa
010
Ported numbers. Italy has had number portability since 2002, so a number's +39 range no longer guarantees which operator serves it. The Standard response returns the original range holder as recorded in AGCOM's numbering plan. mode=current resolves the operator serving a ported number today.

Questions about Italy number validation

Why do Italian landline numbers keep the leading 0 in +39 international format?

Italy folded the old trunk prefix into the area code in 1998, so the leading 0 is a permanent part of a fixed-line number, not a prefix to remove. A Milan number is +39 02 1234 5678 with the 0 intact. Code that blindly strips a leading 0 after the country code will corrupt every Italian fixed-line number.

How do I tell an Italian mobile number from a fixed-line number?

Mobile numbers begin with 3 (for example +39 312 345 6789) and never carry a leading 0. Fixed-line numbers begin with 0 followed by a geographic area code (Rome 06, Milan 02). The presence or absence of that leading 0 is the reliable signal.

Are Italian fixed-line numbers a fixed length?

No. Area codes range from two digits (06, 02) to three or four digits, and the full national number typically runs 9 to 11 digits. Don't hard-code one length; validate against the numbering plan instead.

Does the +39 range on a number tell me which operator serves it?

Not once a number has been ported. The Standard response returns the original block holder that AGCOM assigned the range to, while mode=current resolves the operator actually serving a ported number today.