Skip to main content

Sending SMS OTP to El Salvador (+503): rules, routes and delivery design

El Salvador uses country code +503 with 8-digit national numbers; mobile numbers begin with 6 or 7. Two-way SMS is not supported on published international routes, so an OTP must be a one-way message a user types back into your app. Alphanumeric sender IDs are typically overwritten unless pre-registered on the destination network, number portability means the prefix does not identify the operator, and Salvadoran consumer law restricts commercial and collections messaging to Monday–Friday, 08:00–18:00 — a restriction aimed at marketing and debt collection, not at a passcode the user just requested.

This page is written for engineers and product owners integrating one-time passcodes for Salvadoran users. It separates three very different kinds of statement: what Salvadoran law and the official numbering plan say, what a published international route policy says, and what Flowstates recommends operationally.

It is not legal advice. Where a rule depends on your use case — marketing versus service messaging, who the sender is, whether you are a telecommunications operator — take local counsel before launch.

Last reviewed: 2026-08-17Leer esta guía en español

How to read the labels on this page

  • Salvadoran law / official — statute, the SIGET national numbering plan, or an official regulator publication.
  • Route policy — carrier and aggregator behaviour as published by Twilio for El Salvador. Commercial policy, not law, and subject to change without notice.
  • Flowstates view — our operational recommendation for Flow2FA customers. Opinion, not a legal or carrier guarantee.

El Salvador at a glance

Country calling code
+503 (ITU-T E.164)Salvadoran law / official
National number length
8 digits, structured (NDC) XYZ1MCDU across the whole countrySalvadoran law / official
Mobile / fixed ranges
National Destination Code 6 and 7 are mobile; 2 is fixedSalvadoran law / official
International dialling prefix
00Salvadoran law / official
Regulator
SIGET (Superintendencia General de Electricidad y Telecomunicaciones)Salvadoran law / official
Number portability
Operated nationally; SIGET publishes the portability regimeSalvadoran law / official
Mobile country code
706Route policy
Two-way SMS
Not supportedRoute policy
Concatenated (long) SMS
Supported, with caveats by sender ID type and encodingRoute policy
MMS
Converted to an SMS with an embedded URLRoute policy
SMS to a landline
Rejected at the API with error 21614; not billed and not loggedRoute policy
Recommended OTP shape
6 digits, single GSM-7 segment, 5-minute lifetime, one active code per identityFlowstates view

Numbering, validation and portability

El Salvador's national numbering plan, communicated by SIGET to the ITU and in force since 23 November 2011, uses eight digits for any fixed or mobile subscriber anywhere in the country. The first digit is the National Destination Code: 2 identifies fixed lines, 6 and 7 identify mobile. Freephone and premium ranges use 7 and 11 digits, and 116 111 is the child helpline.

Because national numbers are a fixed length, E.164 validation is simple and worth doing before you spend a message on an unroutable destination.

Validating a Salvadoran MSISDNSalvadoran law / official
CheckRuleExample
E.164 form+503 followed by exactly 8 digits+50370123456 is invalid (9 digits)
MobileFirst national digit is 6 or 7+50361234567, +50371234567
Fixed lineFirst national digit is 2 — do not send SMS+50322123456
Regex^\+503[67]\d{7}$ for mobile destinations

Ranges come from the SIGET national numbering plan communicated to the ITU; the operator serving a number is a separate question (see below).

Portability breaks prefix-based operator inferenceSalvadoran law / official

Number portability is in operation in El Salvador and SIGET publishes the regime, so the leading digits of a number no longer tell you which operator serves it. If your routing, pricing or analytics logic maps prefixes to operators, it is wrong. Use an authoritative number lookup (or your provider's delivery reporting) instead of static prefix tables.

What published route policy allows

The constraints below are commercial route policy for El Salvador as published by Twilio and retrieved on 17 August 2026. They are not Salvadoran law, they differ between suppliers, and they change without notice. They matter because they decide what your users actually see.

Sender identity options for El SalvadorRoute policy
Sender typeOperator supportWhat the recipient seesProvisioning
Alphanumeric (pre-registered)Supported; pre-registration only available for Claro El SalvadorYour registered sender ID, preservedAbout one week
Alphanumeric (dynamic, unregistered)Supported by Twilio, not preserved by operatorsOverwritten with a short code or long code outside the platformImmediate
Domestic long codeSupported by operators, not supported by Twilio
International long codeSupported by Twilio; sender ID not preservedA number that may differ from the one you sent from
Short codeSupported by operators, not supported by Twilio

Delivery of a non-registered alphanumeric sender ID to Claro El Salvador is described as best-effort only.

  • Route policyTwo-way SMS is not supported, so you cannot rely on the user replying — no reply-to-verify flows, and no reply-STOP handling on the same route.
  • Route policyConcatenation is supported, but not necessarily for every sender ID type, and where a message splits depends on character encoding.
  • Route policyMMS is converted into an SMS containing a URL, so never send a passcode as an image.
  • Route policyAn SMS addressed to a Salvadoran landline is rejected with error 21614: no log entry and no charge, but also no delivery. Filter fixed-line numbers before submission.
  • Flowstates viewBecause the sender ID can be rewritten, put your brand name inside the message body as well as in the sender field, so the user can still identify who sent the code.

Two instruments matter most for A2P messaging into El Salvador: the consumer protection statute and the 2024 personal data protection statute. Neither is an SMS-specific marketing code, so the obligations have to be read onto your use case rather than copied from a checklist.

  • Salvadoran law / officialLey de Protección al Consumidor (Decreto Legislativo 776, as reformed), Art. 18 lit. n): every supplier is prohibited from carrying out commercial and advertising activity, and debt collection against a debtor, co-debtor, guarantor or their relatives, outside business days and hours by means of repetitive SMS, MMS, telephone calls, email or other modalities. The same article defines business days and hours as Monday to Friday, 08:00 to 18:00.
  • Salvadoran law / officialArt. 21-C numerals 14 to 16 place further duties on telecommunications operators: easy and free deactivation of SMS/MMS subscriptions through at least the channel used to subscribe, free monthly itemisation of SMS/MMS charges, and a free, easy mechanism for the consumer to cancel receipt of promotions and offers by SMS, MMS, email, phone call or any other advertising channel. These duties are written for operators, not for every A2P sender, but they set the local expectation for how opt-out should work.
  • Salvadoran law / officialLey para la Protección de Datos Personales, Decreto Legislativo 144 of 12 November 2024, published in Diario Oficial No. 219, Tomo 445 on 15 November 2024, is now the general data protection statute. Processing personal data requires free, specific, informed, express and individualised consent, and the law grants a right to object that expressly covers profiling for commercial or direct-marketing purposes. Supervision sits with the Agencia de Ciberseguridad del Estado (ACE).
  • Salvadoran law / officialThe official sources reviewed for this page do not establish a national do-not-call or do-not-contact registry in El Salvador, nor a statutory requirement to support a specific keyword such as STOP or HELP. Absence of a specific rule is not permission: the consent, opt-out and timing rules above still apply.
  • Route policyTwilio's own compliance guidance for El Salvador — vendor best practice, not law — asks senders to obtain opt-in consent, message only during daytime hours unless urgent, support HELP and STOP in the local language, and honour do-not-call lists.

How we read the 08:00–18:00 restriction for OTPFlowstates view

Art. 18 lit. n) is aimed at repetitive commercial, advertising and debt-collection contact. A passcode the user requested seconds earlier to complete their own login or payment is service messaging, not marketing, so we do not throttle OTP to business hours. We do recommend keeping OTP traffic on a separate sender, separate template set and separate consent record from anything promotional, so the distinction is demonstrable if it is ever challenged. This is our reading, not a ruling — confirm it with Salvadoran counsel for your use case.

Message design and encoding

Spanish OTP copy fits comfortably in one GSM-7 segment if you resist the temptation to add accented flourishes and emoji. Accented characters such as á, í, ó and ú are not all in the basic GSM 03.38 alphabet, and a single character outside it forces the whole message into UCS-2 — cutting your budget from 160 characters to 70 and typically doubling cost.

Segment budgetsFlowstates view
EncodingSingle messagePer segment when concatenated
GSM 03.38 (7-bit)160 characters153 characters
UCS-2 (any non-GSM character)70 characters67 characters

Concatenation itself is supported on El Salvador routes, but support can vary by sender ID type — a further reason to keep OTP to one segment.

  • Flowstates viewKeep the code to 6 digits, put it early in the message, and never wrap it in punctuation that autofill heuristics trip over.
  • Flowstates viewWrite plain Spanish and avoid characters outside GSM 03.38. "Su codigo Flow2FA es 123456. Vence en 5 minutos. No lo comparta." fits one segment.
  • Flowstates viewDo not tell the user to reply STOP on an SMS OTP route into El Salvador: replies are not supported, so the instruction would be misleading. Offer opt-out and support through your app or a documented contact channel instead.
  • Route policyNever send a passcode as MMS or an image: it is converted to an SMS with a URL, which both breaks the flow and trains users to click links in verification messages.

Delivery design and fallback

SMS in El Salvador behaves like most Central American markets: mostly fast, occasionally lumpy at peaks, and hard to diagnose from the sending side alone because the sender ID may have been rewritten downstream. Design for the failure case rather than assuming it away.

A fallback ladder that works with these constraintsFlowstates view
StepChannelTrigger
1SMS to the +503 mobile numberUser requests a code
2Resend on the same channelNo delivery receipt within roughly 30 seconds
3Second channel — email, or WhatsApp where configured for your accountNo delivery receipt or no user entry within roughly 60 seconds
4Assisted recoveryRepeated failure for the same identity

Timings are a starting point for a pilot, not a service commitment. Tune them against your own delivery receipts before hard-coding them.

  • Flowstates viewMeasure conversion (codes entered correctly ÷ codes requested), not just carrier-accepted rates. A route can accept everything and still be losing users.
  • Flowstates viewRate-limit per identity and per IP, and cap resends: pumping fraud targets exactly this endpoint, and El Salvador is not exempt.
  • Flowstates viewLog the sender ID you requested alongside what your provider reports, so you can see when it was overwritten and correlate that with delivery outcomes.
  • Flowstates viewRun a pilot on real Salvadoran handsets across more than one operator before launch. Portability means you cannot assume a test number represents the operator its prefix suggests.

Pre-launch checklist

  • Flowstates viewValidate destinations as ^\+503[67]\d{7}$ and reject fixed-line 2-prefixed numbers before submission.
  • Route policyDecide your sender strategy: pre-registered alphanumeric for Claro El Salvador (allow about a week) or accept an overwritten sender elsewhere.
  • Flowstates viewPut the brand name in the message body because the sender ID may not survive.
  • Route policyRemove any "reply STOP" wording from Salvadoran SMS templates: two-way SMS is not supported.
  • Flowstates viewKeep OTP traffic separate from marketing traffic, with separate consent records, so the Art. 18 lit. n) timing restriction is clearly not engaged.
  • Salvadoran law / officialRecord consent in a form that satisfies Decreto 144: free, specific, informed, express and individualised — and make objection to marketing profiling easy to exercise.
  • Salvadoran law / officialProvide a free, easy way to stop promotional messaging, mirroring the Art. 21-C expectation even if you are not a telecommunications operator.
  • Flowstates viewConfirm with your supplier, in writing, the throughput, sender ID handling and OTP route separation they will actually give you for +503.

How Flow2FA handles El Salvador

  • Flowstates viewOne REST API for SMS, WhatsApp where configured, and email, so a Salvadoran fallback ladder is configuration rather than a second integration.
  • Flowstates viewSMPP v3.4 binds for teams that already have their own carrier relationships and want Flow2FA for orchestration rather than delivery.
  • Flowstates viewServer-generated otpId on /otp/generate and validation against that id on /otp/validate — the same contract everywhere, with no caller-supplied identifiers.
  • Flowstates viewSender ID registration for Claro El Salvador, route selection and per-operator throughput are commercial matters we scope per account. Ask us for the current position for +503 rather than inferring it from this page.

Frequently asked questions

What is the phone number format for El Salvador?
El Salvador uses country code +503 followed by an 8-digit national number. Mobile numbers begin with 6 or 7 and fixed lines begin with 2, under the national numbering plan communicated by SIGET to the ITU and in force since 23 November 2011.
Can I use an alphanumeric sender ID for SMS OTP in El Salvador?
Published route policy says alphanumeric sender IDs reach Salvadoran handsets, but an unregistered sender ID is overwritten with a short code or long code. Pre-registration preserves the sender ID and is available for Claro El Salvador with roughly one week of provisioning time.
Does two-way SMS work in El Salvador?
No. Published route policy lists two-way SMS as unsupported for El Salvador, so reply-based verification and reply-STOP opt-out do not work. Use one-way codes the user types into your app.
Are there time restrictions on sending SMS in El Salvador?
Ley de Protección al Consumidor Art. 18 lit. n) prohibits commercial, advertising and debt-collection contact — including repetitive SMS, MMS, calls and email — outside Monday to Friday, 08:00 to 18:00. Flowstates reads a user-requested passcode as service messaging rather than marketing, but that reading should be confirmed with local counsel for your use case.
Does El Salvador have a do-not-call registry?
The official sources reviewed for this guide do not establish a national do-not-call or do-not-contact registry in El Salvador. Consent, opt-out and timing obligations under the consumer protection and data protection statutes still apply.
Can I tell which operator serves a Salvadoran number from its prefix?
No. Number portability is in operation and administered by SIGET, so leading digits no longer identify the serving operator. Use an authoritative lookup rather than static prefix tables.

Sources

The Spanish version of this page is a translation of the same reviewed content. Where a translation and the original differ, the cited Salvadoran sources govern. This page is informational and is not legal advice.

Planning OTP delivery to El Salvador?

Tell us your volumes, channels and operator coverage needs and we will tell you plainly what we can commit to for +503 — including sender ID registration and where a second channel is the honest answer.