On this page
An Argentine mobile number in international format is +54, then 9, then the area code without its leading 0, then the subscriber number: +54 9 11 XXXX XXXX for Buenos Aires. At home the same mobile is dialled 011 15-XXXX-XXXX: trunk 0, area code, the mobile prefix 15, then the number. Drop the 0 and the 15, add the 9, and you have the E.164 form to store.
This guide is part of our phone numbers by country series. The tables marked as generated come from libphonenumber's metadata, our MNP atlas and our public catalog; the rest we wrote and tested on 2026-10-14. Example numbers are masked with X. We read the regulator's pages, the Boletín Oficial and the laws on argentina.gob.ar on 2026-10-14. This is a summary, not legal advice.
What does an Argentine phone number look like?
Every national number has 10 digits: an area code of 2, 3 or 4 digits and a subscriber number of 8, 7 or 6 digits. Mobiles use the same area codes as landlines and add a marker: 15 at home, 9 from abroad.
The 10-digit plan dates from the Basic National Numbering Plan of 1997, which moved Argentina from 8 to 10 digits by 31 January 1999 (ITU, 1997). The area code is shorter where more numbers are needed:
| Area code length | Example area | Subscriber number | Landline at home | Mobile at home | Mobile in E.164 (masked) |
|---|---|---|---|---|---|
| 2 digits | 11 Buenos Aires metropolitan area | 8 digits | 011 XXXX-XXXX | 011 15-XXXX-XXXX | +5491XXXXXXXXX |
| 3 digits | 221 La Plata, 351 Córdoba | 7 digits | 0221 XXX-XXXX | 0221 15-XXX-XXXX | +549221XXXXXXX |
| 4 digits | 3837 Tinogasta | 6 digits | 03837 XX-XXXX | 03837 15-XX-XXXX | +5493837XXXXXX |
Area codes starting with 1 cover the Buenos Aires area, 2 the southern interior and 3 the northern interior, according to the same plan. They aren't frozen: in 2011 and 2012 the regulator changed 21 of them, for example Posadas from 3752 to 376 and Corrientes from 3783 to 379 (ITU, 2011). Old records can still carry the old codes.
| Item | Value |
|---|---|
| Country calling code | +54 |
| International call prefix (dialling out) | 00 |
| Trunk prefix (dialling at home) | 0 |
| Mobile: digits after +54 | 10, 11 |
| Fixed line: digits after +54 | 10 |
| Toll-free: digits after +54 | 10, 11 |
| Premium rate: digits after +54 | 10 |
| Universal access (UAN): digits after +54 | 10 |
| Mobile, national format (masked) | 011 1X-XXXX-XXXX |
| Mobile, international (masked) | +54 9 1X XXXX XXXX |
| Mobile, E.164 (masked) | +5491XXXXXXXXX |
| Fixed line, national format (masked) | 011 XXXX-XXXX |
| Fixed line, international (masked) | +54 11 XXXX XXXX |
| Fixed line, E.164 (masked) | +5411XXXXXXXX |
The generated table masks the mobile's national format after two digits, which hides the 5 of the 15: it reads 011 15-XXXX-XXXX in full.
Why do Argentine mobiles have a 9 and a 15?
Because a mobile and a landline can share the same 10 digits, and the caller has to say which one they mean. At home the 15 does that; from abroad the 9 does. Neither is part of the subscriber number.
The 1997 plan lists 15 among the national access prefixes, next to 0 (national long distance) and 00 (international), and defines it as the prefix for a "calling party pays" call: 15 + local number (ITU, 1997). Calling-party-pays lines are the mobiles. So inside an area you dial 15 XXXX-XXXX, and from another area 0 + area code + 15 + number.
From abroad the 15 is not used. The City of Buenos Aires tells visitors to put +54 11 before a landline number and +54 9 11 before a mobile (Buenos Aires City, Prefijos y llamadas). libphonenumber follows the same rule: its notes for country code 54 say all Argentine numbers are 10 digits long, and that its metadata writes mobile ranges as 11 digits by adding the prefix 9 (libphonenumber, metadata/54).
| Calling an Argentine mobile | What you dial or store |
|---|---|
| From the same area | 15 + subscriber number |
| From another area in Argentina | 0 + area code + 15 + subscriber number |
| From abroad | international prefix + 54 9 + area code + subscriber number |
| Stored in a database or sent to an API | +549 + area code + subscriber number (E.164) |
Two errors follow from this. Keeping the 15 in the international form (+54 9 11 15 XXXX XXXX) gives a number that's too long. Dropping the 9 (+54 11 XXXX XXXX) gives a valid number of the wrong kind: the landline form of the same digits.
Which prefixes are mobile numbers?
None, on their own. Argentina has no mobile-only leading digits: mobiles are spread over all area codes. Because libphonenumber writes them with the 9 in front, the generated table below counts blocks of that 9-prefixed form.
<!-- country-data:AR:prefixes:start --> <!-- generated by apps/web/scripts/gen-country-guide-data.mjs (exact count over the mobile pattern, libphonenumber metadata 9.0.39); edit the script, not this table -->| National prefix | International | Share of the block that is mobile (10, 11-digit numbers) | 3-digit sub-blocks that aren't fully mobile |
|---|---|---|---|
067 | +54 67 | 10.0% | not mobile: 0670–0674, 0676–0679 |
091 | +54 91 | 9.0% | not mobile: 0910, 0912–0919; partly mobile: 0911 (90.0%) |
092 | +54 92 | 7.5% | not mobile: 0920, 0921, 0925, 0927; partly mobile: 0922 (19.6%), 0923 (11.4%), 0924 (2.6%), 0926 (18.4%), 0928 (2.0%), 0929 (21.5%) |
093 | +54 93 | 10.9% | not mobile: 0930–0932, 0939; partly mobile: 0933 (2.9%), 0934 (32.2%), 0935 (23.0%), 0936 (3.0%), 0937 (14.8%), 0938 (33.4%) |
Read this table with care. The generator puts the trunk 0 in front of each block, so 091 means "9, then an area code starting with 1"; nobody dials 09 in Argentina. The shares measure which area codes and subscriber-number starts the metadata accepts, not how many mobiles exist. Small shares are normal: the plan restricts subscriber numbers that start with 0 or 1, and many area codes are unused. The 10-digit 675 block (written 067 above) is a separate range that the metadata also lists as mobile.
What matters for validation: any valid Argentine mobile in E.164 starts +549, and the area code that follows decides how long the rest is.
How do I validate an Argentine number in code?
Use a libphonenumber port with full metadata and the default region AR. It removes the 0 and the 15, adds the 9, and tells you whether the result is a mobile.
Python (pip install phonenumbers):
import phonenumbers
from phonenumbers import PhoneNumberType as T
def normalize_ar(raw: str, area_code: str | None = None) -> tuple[str | None, str]:
"""(E.164, kind) for an Argentine number; kind is "mobile", "fixed_or_missing_9" or "invalid".
area_code: the customer's area code without 0 (for example "11"), used only when the
input has no area code, such as "15 XXXX-XXXX" typed by someone in that area.
"""
tries = [raw] + ([f"0{area_code} {raw}"] if area_code else [])
for text in tries:
try:
n = phonenumbers.parse(text, "AR")
except phonenumbers.NumberParseException:
continue
if not phonenumbers.is_valid_number(n) or phonenumbers.region_code_for_number(n) != "AR":
continue
e164 = phonenumbers.format_number(n, phonenumbers.PhoneNumberFormat.E164)
if phonenumbers.number_type(n) == T.MOBILE:
return e164, "mobile" # always +549...
return e164, "fixed_or_missing_9" # +54 without 9: a landline, or a mobile saved without its 9
return None, "invalid"JavaScript (npm install libphonenumber-js):
import { parsePhoneNumberFromString } from "libphonenumber-js/max";
/** → { e164, kind }, kind "mobile", "fixed_or_missing_9" or "invalid". areaCode (e.g. "11") only for inputs without one. */
export function normalizeAr(raw, areaCode) {
const tries = [String(raw), ...(areaCode ? [`0${areaCode} ${raw}`] : [])];
for (const text of tries) {
const phone = parsePhoneNumberFromString(text, "AR");
if (!phone?.isValid() || phone.country !== "AR") continue;
return { e164: phone.number, kind: phone.getType() === "MOBILE" ? "mobile" : "fixed_or_missing_9" };
}
return { e164: null, kind: "invalid" };
}We ran both on 2026-10-14 (Python phonenumbers 9.0.40, libphonenumber-js 1.13.13 with metadata 9.0.39) on the inputs below, and both gave the same answers:
| Input as people write it (masked) | Area code passed | Result | kind |
|---|---|---|---|
011 15 XXXX-XXXX | none | +5491XXXXXXXXX | mobile |
+54 9 11 XXXX XXXX | none | +5491XXXXXXXXX | mobile |
+54 11 15 XXXX XXXX (15 kept, 9 missing) | none | +5491XXXXXXXXX | mobile |
5491XXXXXXXXX (no plus) | none | +5491XXXXXXXXX | mobile |
0221 15 XXX-XXXX | none | +549221XXXXXXX | mobile |
03837 15 XX-XXXX | none | +5493837XXXXXX | mobile |
15 XXXX-XXXX | 11 | +5491XXXXXXXXX | mobile |
15 XXXX-XXXX | none | none | invalid |
+54 11 XXXX XXXX (9 missing) | none | +541XXXXXXXXX | fixed_or_missing_9 |
+54 9 11 15 XXXX XXXX (9 and 15) | none | none | invalid |
The third row is worth knowing: the libraries repair the common mix of 15 kept and 9 missing. The second-to-last row is the trap: a mobile saved without its 9 comes back valid, as a landline. If your form asked for a mobile, flag it and ask the customer, rather than sending an OTP to the landline form.
The generator's own test table checks the metadata's example numbers against a shape regex built from the mobile pattern:
<!-- country-data:AR:tests:start --> <!-- generated by apps/web/scripts/gen-country-guide-data.mjs (libphonenumber-js 1.13.13, region AR); edit the script, not this table -->| # | Case | Input (masked) | Shape regex ^(?:\+54|0054|0)?[69]\d{9,10}$ | libphonenumber (AR) |
|---|---|---|---|---|
| 1 | National, with trunk prefix | 011 XX-XXXX-XXXX | fails | valid, MOBILE |
| 2 | International, with spaces | +54 9 1X XXXX XXXX | passes | valid, MOBILE |
| 3 | International dialling prefix 00 | 0054 11 XX-XXXX-XXXX | fails | valid, MOBILE |
| 4 | E.164 | +5491XXXXXXXXX | passes | valid, MOBILE |
| 5 | Dashes and brackets | (011) XX-XXXX-XXXX | fails | valid, MOBILE |
| 6 | One digit short | 091XXXXXXXX | passes | invalid |
| 7 | One digit too many | 091XXXXXXXXXX | fails | invalid |
| 8 | Mobile shape, unused block 060 | 060XXXXXXXXX | passes | invalid |
| 9 | Fixed line | 011 XXXX-XXXX | fails | valid, FIXED_LINE |
| 10 | Premium rate range | 060X-XXX-XXXX | passes | valid, PREMIUM_RATE |
Rows 1, 3 and 5 are the domestic form with the 15 (masked after two digits, so 011 15-… shows as 011 XX-…): the regex fails them and libphonenumber accepts them. Row 6 shows the opposite: one digit short, yet the regex passes it. A regex can't tell where the area code ends, so it can't check the length of the rest. More languages are in our Python and JavaScript guides.
Does number portability change the carrier?
Yes. Mobile number portability has worked in Argentina since March 2012, as ENACOM recorded in a 2016 resolution on numbering blocks (ENACOM Res. 1949/2016). The same resolution notes that when a ported customer leaves, the number returns to the operator the range is assigned to.
The rules are the Régimen de Portabilidad Numérica of Resolución 98/2010, as amended. Resolución 170-E/2017 cut the porting process to no more than one working day, counted from the moment the portability database administrator receives the request, and capped any minimum stay with the new operator at 30 days (Res. 170-E/2017). ENACOM's FAQ adds that the regulator can allow up to ten working days for complex cases, such as many lines or wide geographic spread, and that a port may not cut service for more than three hours (ENACOM). The Argentina row of our MNP atlas:
<!-- country-data:AR:mnp:start --> <!-- generated by apps/web/scripts/gen-country-guide-data.mjs (row from content/datasets/mnp-atlas-2026); edit the script, not this table -->| Item | Value |
|---|---|
| Mobile number portability | Yes |
| Mobile porting since | not verified |
| Maximum porting time | 1 working day (up to 10 working days in complex cases) |
| Governing rule | ENACOM number portability regime |
| Published porting volume | none published |
| Source | enacom.gob.ar |
| Checked | 2026-09-25 |
Since the area code is shared by every operator, it never told you the network in the first place. If routing, pricing or fraud rules depend on the operator, look it up per number. Our MNP atlas compares Argentina with 67 other countries.
Which messaging apps and channels reach people?
SMS reaches every active mobile. For WhatsApp, Meta's pricing page lists rate changes specific to Argentina: lower utility and authentication rates from 1 October 2025, and the Argentine peso (ARS) as a billing currency from 1 April 2026 (Meta pricing, read on 2026-10-14). Our WhatsApp OTP vs SMS OTP post shows how to compare the cost per verified user.
WhatsApp is often called the default messenger in Argentina, but we didn't find a published source that measures app use there in a way we can check, so we don't quote shares. Measure it on your own opted-in customers instead, and keep SMS as the fallback. Our channel-by-country guide shows the method.
The 9 matters here too. A WhatsApp account is tied to the full international number, so a list where mobiles are stored as +54 11… without the 9 is a list of landline-form numbers. Normalise with normalize_ar() first, then check.
What are the rules for marketing calls, SMS and consent?
These summarise the laws as we read them on argentina.gob.ar on 2026-10-14. Not legal advice; ask counsel how they apply to you.
The No Llame register (Law 26,951)
Law 26,951 (sanctioned 2 July 2014) created the national No Llame register to protect telephone users from unsolicited advertising, offers, sales and gifts. It covers fixed and mobile telephony and similar services, including voice over IP (Ley 26.951):
- Anyone can register, for free, and doesn't need to be the account holder. Registration is online, with the person's CUIL and Mi Argentina login (argentina.gob.ar, Registro No Llame).
- Companies must check the register. The law requires those who advertise, offer, sell or give away goods or services by telephone to check registrations every 30 days and not to contact registered numbers. Decree 2501/2014 requires the check before each contact campaign (Decreto 2501/2014). After registering, people are told to allow up to 30 days for calls to stop.
- Exceptions (article 8): public-interest campaigns, emergency calls, election campaigns, contacts within an existing contract and limited to its subject, and contacts the registered person expressly authorised.
The law speaks of telephone services in general and doesn't name SMS. The government's guide does speak of "calls or messages" with offers. The safe reading for a marketing SMS programme is to treat the register as applying.
Data protection (Law 25,326)
Processing personal data is lawful only with the person's free, express and informed consent, recorded in writing or an equivalent form, unless an exception applies (article 5). For advertising, article 27 allows data from public sources or data the person provided or consented to, and lets the person ask at any time to be removed or blocked from the list (Ley 25.326).
What that means for OTP
A one-time passcode the user asked for isn't advertising. Send it from a sender your provider has set up for transactional traffic, keep it free of offers, and don't reuse numbers collected for verification for marketing without consent.
Can I check which Argentine customers have WhatsApp?
Yes, for your own customers and a purpose they can expect, such as choosing the channel for messages they asked for. A registration check tells you an account exists. It doesn't give you permission to message anyone.
Buyers usually run this on a CRM export before switching notifications to WhatsApp. Under Law 25,326, tell people at collection what you do with their number. Wording such as: "We use your mobile number to send you order and account messages by SMS or WhatsApp, and we check which of these channels your number can receive." Keep the result with its checked_at date, refresh it, and delete the uploaded file once your systems are updated. Our post on WhatsApp number checks, consent and the law covers lawful bases and retention in more depth.
What we refuse: lists of sequential or generated numbers (20 or more consecutive numbers return 403 suspected_enumeration), "find all WhatsApp users" requests and anything that treats a result as permission to contact someone. Our acceptable use policy forbids finding recipients for unsolicited messages, and a check never returns a name or a photo.
What changed recently?
The rows for AR and +54 in our numbering-plan changes dataset, built from libphonenumber's release notes:
| Change named in the release notes (2019-01-08 to 2026-09-23) | Releases |
|---|---|
| Numbering-plan metadata (validation, lengths, types) | 20 |
| Geocoding (area names) | 7 |
| Short numbers | 4 |
| Alternate formatting | 1 |
| All | 32 |
Latest numbering-plan updates for AR: 2026-08-13 (v9.0.37), 2025-03-13 (v9.0.1), 2025-02-27 (v9.0.0), 2024-11-13 (v8.13.50), 2024-09-04 (v8.13.45).
Argentina's metadata changes often, and the last update was in August 2026, so keep your library current. Update it on a schedule rather than when something breaks: an outdated library may reject a valid new range or accept an old area code.
What can MobileValidate check for Argentine numbers?
Generated from our public catalog:
<!-- country-data:AR:coverage:start --> <!-- generated by apps/web/scripts/gen-country-guide-data.mjs (public catalog https://api.mobilevalidate.com/v1/services, fetched 2026-10-14); edit the script, not this table -->| Check | Accepts Argentina numbers | Notes |
|---|---|---|
| Format and country (every lookup) | Yes | Each number is parsed first; an invalid number returns invalid_number and is never billed. |
| Carrier lookup (beta) | Yes | Line type and current network where data exists; no data means unknown, not billed. Real time and bulk. |
| US/CA carrier lookup (premium) | No (US, CA only) | Answers unsupported_country for other countries, not billed. |
| Live network status (HLR) | Yes | Live reachability, porting, roaming (true or false) and current network; unknown is free. Real time and bulk. |
| Number portability (MNP) | Yes | Ported or not ported, and the current network code; unknown is free. Real time and bulk. |
| Spam reputation | Limited access | All countries except sanctioned ones; report coverage is strongest in North America and Europe. |
| Messaging apps | Yes: WhatsApp, Telegram, Viber, Signal*, iMessage*, RCS*, LINE*, Zalo, Botim*, Facebook Messenger* | Registered, not registered or unknown; unknown is free. |
| Social networks | Yes: Facebook, Instagram, Threads, X (Twitter), TikTok*, Snapchat* | Not for Argentina numbers: LinkedIn (US, IN only). |
| Online accounts (Apple, Amazon, Microsoft, Netflix) | Yes: Apple, Amazon, Microsoft, Netflix | Registered, not registered or unknown; unknown is free. |
* bulk jobs only. Catalog as fetched on 2026-10-14; the live list is at GET /v1/services.
A lookup returns network and registration facts. It never returns a subscriber's name, DNI, CUIL or address, and we don't offer "number details" searches.
Here is the request for one lookup with the current network and WhatsApp registration. Pass the output of normalize_ar(), always with the 9. To try it without spending anything, use the public sandbox key mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym with our test values (UK drama numbers, because the sandbox accepts only those):
curl https://api.mobilevalidate.com/v1/lookup \
-H "Authorization: Bearer $MOBILEVALIDATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers": ["+447700900001"], "checks": ["carrier", "whatsapp"], "wait": 5}'The documented sandbox answers for three test values:
| Test value | whatsapp | carrier |
|---|---|---|
+447700900001 | registered: true | line_type: "mobile", carrier: "Test Carrier" |
+447700900002 | registered: false | unknown (NO_DATA) |
+447700900005 | unsupported_country | unsupported_country |
For a customer list, use a bulk job: the free estimate (POST /v1/jobs/estimate) shows the maximum cost before anything runs, and unknown or inconclusive results are never charged. See WhatsApp number check and carrier lookup for the fields, and pricing for current prices.
What are the key takeaways?
- Argentine mobiles are
+54 9+ area code + subscriber number in E.164; at home they're0+ area code +15+ number. Store the+549…form. - Area codes have 2, 3 or 4 digits and the national number is always 10 digits, so the subscriber number is 8, 7 or 6 digits.
+54 11 XXXX XXXXwithout the 9 is valid, but as a landline. Flag mobiles saved that way.- Let a libphonenumber port do the work: a regex can't tell where the area code ends.
- Mobile numbers have been portable since March 2012, with a one-working-day port since 2017. Look up the network per number.
- Check the No Llame register before telephone marketing, get consent under Law 25,326, and treat a WhatsApp registration check as channel information, never as permission.
Platform, regulator and company names are used descriptively. MobileValidate is not affiliated with any of them.
Sources
- Argentina (country code +54): communications of 2 July 1997 (Plan Fundamental de Numeración Nacional) and 10 November 2011 (area code changes) — International Telecommunication Union (ITU-T), national numbering plans, 2011
- libphonenumber metadata notes for country code 54 (resources/metadata/54/README) — libphonenumber project (Apache License 2.0), 2026
- Prefijos y llamadas — Gobierno de la Ciudad de Buenos Aires (Turismo), 2026
- Portabilidad numérica (preguntas frecuentes) — Ente Nacional de Comunicaciones (ENACOM), 2026
- Resolución 1949/2016 (28 April 2016, Boletín Oficial 5 May 2016) — Ente Nacional de Comunicaciones (ENACOM), Boletín Oficial de la República Argentina, 2016
- Resolución 170-E/2017 (30 January 2017, Boletín Oficial 10 March 2017), amending the Régimen de Portabilidad Numérica of Resolución 98/2010 — Ministerio de Comunicaciones, Boletín Oficial de la República Argentina, 2017
- Ley 26.951: Registro Nacional No Llame (sanctioned 2 July 2014, Boletín Oficial 5 August 2014) — Presidencia de la Nación (argentina.gob.ar, normativa), 2014
- Decreto 2501/2014: reglamentación de la Ley 26.951 (Boletín Oficial 6 January 2015) — Presidencia de la Nación (argentina.gob.ar, normativa), 2015
- Registro No Llame (Ley simple) — Presidencia de la Nación (argentina.gob.ar, Derecho Fácil), 2026
- Ley 25.326: Protección de los Datos Personales (sanctioned 4 October 2000), articles 5 and 27 — Presidencia de la Nación (argentina.gob.ar, normativa), 2000
- WhatsApp Business Platform pricing (market list and rate updates) — Meta for Developers, 2026
Frequently asked questions
How do I write an Argentine mobile number in international format?
Write +54, then 9, then the area code without its 0, then the subscriber number without the 15. A Buenos Aires mobile dialled at home as 011 15-XXXX-XXXX becomes +54 9 11 XXXX XXXX, or +5491XXXXXXXXX in E.164. Store that form and use it for SMS, WhatsApp and every API.
What is the 15 in Argentine mobile numbers?
A domestic prefix, not part of the number. Argentina's numbering plan defines 15 as the access prefix for calls to calling-party-pays (mobile) lines, dialled between the area code and the subscriber number. It is dropped in the international format, where the 9 after +54 marks the number as a mobile instead.
How many digits is an Argentine phone number?
Every national number has 10 digits: an area code of 2, 3 or 4 digits plus a subscriber number of 8, 7 or 6 digits. In E.164 a landline is +54 plus 10 digits and a mobile is +54 9 plus 10 digits, so 11 digits after the country code.
Is +54 11 XXXX XXXX a mobile or a landline?
As written, it is the landline form, and validation libraries report it as a fixed line. Mobiles and landlines share the same 10-digit numbering, so a mobile saved without its 9 looks exactly like a landline. Ask the customer, or run a lookup on the +54 9 form before you treat it as a mobile.
Can Argentine mobile users keep their number when they change operator?
Yes. Mobile number portability has worked in Argentina since March 2012, according to the regulator ENACOM. Since a 2017 resolution a port may take no more than one working day, so the area code says nothing about the operator that serves a number today.
How do people in Argentina stop marketing calls?
By registering their line, for free, on the national No Llame register created by Law 26,951 of 2014. Companies that advertise or sell by telephone must check the register before contacting people and must not contact registered numbers, apart from exceptions such as existing customers within their contract.
Related services and guides
More from the blog
All articlesGuides
Phone numbers by country: formats, portability, channels and rules
How phone numbers differ by country: formats and E.164, numbering changes, portability, line types, messaging channels, and a dated tracker of calling and texting rules.
10 min read
Developers
E.164 phone number format: a practical guide for developers
How to normalize phone numbers to E.164 in JavaScript and Python, the pitfalls that break deduplication, and how the MobileValidate API normalizes input.
8 min read
Guides
Is it legal to check if a number is on WhatsApp? Consent and data-protection rules for businesses (2026)
Is a WhatsApp number check legal? GDPR, India's DPDP Act, Brazil's LGPD, Malaysia's PDPA and US rules, and why registration is not permission to message.
10 min read

