Writing a Number for SMS: the +33 Format

Guide

Back to the blog
L'équipe Envoyer SMS Gratuit10 November 202613 min read
Filed underGuide

Short answer: to send an SMS from a website, a gateway or an API, a French mobile number is written in the international E.164 format: +33612345678. You replace the leading 0 with the +33 country code, and remove every space, dot, dash and parenthesis. A number entered as "06 12 34 56 78" is often accepted by a phone, but rejected — or routed to the wrong country — by an online sending service.

This is the most ordinary and most frustrating mistake when sending SMS from a computer. The message is written, proofread, it fits in 160 characters, you click "Send" — and the interface returns "invalid number", or worse: it reports success and the text never arrives. Nine times out of ten, the text has nothing to do with the problem: it is the way the number was written.

This article explains the standard that governs how numbers are written, details the six entry mistakes that block a send, and gives a method for cleaning a recipient list before a bulk send.

Smartphone resting on a transparent stand, on a dark desk next to a computer keyboard

Why can a number written "06 …" fail online?

Because a number starting with 0 only makes sense inside a single country. The 0 is a national prefix: it tells the network "this number is in the same country as me". A sending service hosted elsewhere, or a platform serving several countries, has no way of guessing which one.

When you dial 06 12 34 56 78 from your own mobile in France, your carrier implicitly fills in the missing information. A web form, on the other hand, does not know where you are. Two possible behaviours, both bad:

  • it rejects the number ("invalid format") — the cleanest case, since you see the error;
  • it assumes a default country, which is not necessarily yours, and the message disappears into thin air.

The standard that settles the matter is called E.164. It is published by the ITU (International Telecommunication Union, the United Nations agency responsible for telecommunications) and describes the global numbering plan. It requires three things: a leading +, the country code, then the national number without its 0, all within 15 digits maximum.

For France, whose numbering plan is managed by the Arcep (French electronic communications regulator), this gives:

Common notationE.164 formatValid online
06 12 34 56 78+33612345678✅
07 89 01 23 45+33789012345✅
01 23 45 67 89 (landline)+33123456789✅ for voice, ❌ for SMS
0033 6 12 34 56 78+33612345678⚠️ sometimes accepted
+33 (0)6 12 34 56 78+33612345678❌ the (0) is incorrect

Remember the rule in one sentence: +33 replaces the 0, it is not added in front of it.

The six entry mistakes that make a send fail

1. The notorious "+33 (0)6"

This is the typography of business cards and email signatures. It reads perfectly well for a human: "from France, dial the 0; from abroad, don't". For a machine, it is an eleven-digit number after the country code, therefore wrong. The (0) must go, parentheses included.

2. The double prefix 0033 + +

+0033… or +330033…: these monstrosities appear when a contact list has been through two successive tools. 00 and + are two ways of writing the same international exit prefix; keep only one, and in E.164 that is the +.

3. Separators dragged along by copy-paste

A number copied from a website or a PDF often carries invisible characters: non-breaking space, em dash, middle dot. To the naked eye, 06.12.34.56.78 and 06 12 34 56 78 look like numbers; to a strict input field, they are strings containing non-numeric characters. Good gateways clean them up, minimalist free sites do not.

4. A landline number instead of a mobile

A number starting with 01 to 05, or 09, does not receive SMS: technically, the line has no associated messaging module. Some services then return a failure, others charge for the send without ever delivering it. The same trap exists with 08 numbers (premium-rate services) and short codes of four or five digits.

5. One digit too many (or too few)

A French mobile has ten digits in national notation, nine after the country code. The count is quickly checked: +33 followed by 9 digits, the first of which is 6 or 7. If you have 8 or 10 digits after the +33, there is a typo.

6. A foreign number treated as a French one

A contact met on holiday, a Belgian supplier: +32, +41, +352 are not interchangeable with +33. This point deserves checking before a bulk send, because a foreign number in a list generally costs more and may be blocked depending on the service used.

Entry tip: type numbers only once, in your phone's contact book, directly in +33… format. All your tools (computer, web messaging, CSV exports) will then inherit the correct format.

How do you convert a French number into international format?

Three steps, thirty seconds.

  1. Write the number as a single string, with no separators. 06 12 34 56 78 becomes 0612345678.
  2. Delete the first 0. You are left with 612345678 — nine digits, first digit 6 or 7.
  3. Add +33 in front. Result: +33612345678.

The same logic applies to other country codes: Belgium +32, Switzerland +41, Luxembourg +352, Canada +1, Morocco +212. You drop the national zero (where there is one — North America has none) and prefix the country code.

For everyday use, the readable version +33 6 12 34 56 78 remains perfectly fine in an email or on a business card: the spaces are a reading convenience, they are not part of the number. In an input field or a spreadsheet column, prefer the unspaced version.

Young woman sitting on a sofa with a laptop, smiling as she looks at her mobile phone

How do you clean a recipient list before a bulk send?

This is where the international format stops being a detail. For a send to one person, a faulty number is fixed in ten seconds. On a list of 80 customers exported from a point-of-sale system or an appointment diary, errors run into the dozens and each failure goes unnoticed.

A five-pass method, in a spreadsheet:

  1. Force the column to text before any import. A spreadsheet receiving 0612345678 in a "number" column displays 612345678: it has eaten the leading zero. This is error source number one with CSV exports. In LibreOffice Calc as in Excel, you go through the text import wizard and set the column to "Text".
  2. Remove all non-numeric characters, apart from the leading +, with a find-and-replace on spaces, dots, dashes and parentheses.
  3. Spot any leftover (0) with a search for the string (0.
  4. Sort by length. A =LEN(A2) column instantly highlights numbers that are too short or too long: in French E.164 format, they must all be 12 characters (+ + 11).
  5. Filter the prefixes. After conversion, only +336 and +337 receive SMS in France. Anything starting with +331 to +335, +338 or +339 comes off the list.

Once the list is clean, the send itself is handled as described in our guide to sending a group SMS from a PC — and if you manage reminders, the E.164 format is also what most appointment reminder SMS tools expect.

Two accessories save a surprising amount of time on this kind of work: a separate USB numeric keypad, to enter or correct numbers without leaving the keypad's digit row, and a laptop stand that puts the screen at eye level when you are proofreading 200 spreadsheet rows. These are not gadgets: a contact list is checked by eye, and eye strain produces digit errors.

Which format should you use in an "sms:" link or a QR code?

The international format, with no spaces, always. An sms: link is interpreted by the visitor's operating system, which could be anywhere in the world.

A correct link looks like this:

sms:+33612345678

And with a pre-filled message:

sms:+33612345678?&body=Bonjour%2C%20je%20souhaite%20un%20devis

(The body text above reads Bonjour, je souhaite un devis — "Hello, I would like a quote".)

The ?&body= syntax is the one that works most widely across iOS and Android, and the text must be percent-encoded (spaces become %20, the comma %2C). The details of how to build it, QR code included, are covered in our article on creating a "Write to us" button with an SMS link, and you can test yours with the site's SMS link generator.

One trap specific to links: if you write sms:0612345678 on a site, the link will work for your French visitors and break for everyone else. Since the correct version costs nothing, you may as well use it.

Does the sender number follow the same rules?

No, and this is a common confusion. The recipient is written in E.164. The sender, on the other hand, depends entirely on the service used.

  • On a free sending site, you do not choose the sender: the message arrives from a short code or a shared technical number, and replies generally do not come back to you. This is a structural limitation, detailed in our article on how reliable a free online SMS is.
  • With Google Messages for web, Phone Link on Windows or Messages on Mac, the sender is your real number: your phone acts as a relay, and it is the phone that sends.
  • With a professional SMS gateway or API, you can sometimes configure an alphanumeric sender name (11 characters maximum), but you then have to add a STOP keyword or a means of contact, since the recipient cannot reply to a name.

As for good practice, the AF2M (Association française du multimédia mobile — French mobile multimedia association) and the CNIL (Commission nationale de l'informatique et des libertés — France's data protection authority) set out the same principles for any non-personal send: prior consent for marketing, an opt-out notice, and respect for acceptable hours (no commercial message in the evening, at night, on Sundays or public holidays). The CNIL page on commercial prospecting is the reference to read before a first professional bulk send.

How can you check that a number exists before sending?

You cannot check it for free and reliably, and that is important to know. A number can be perfectly valid in E.164 format, match an active French mobile prefix — and be assigned to nobody, or have been cancelled.

Three levels of verification exist:

LevelWhat it checksCost
FormatE.164 syntax, length, mobile prefixFree, instant
Range allocationCarrier owning the number block, according to the ranges published by the ArcepFree, approximate
HLR lookupNumber genuinely active, current carrier after portingPaid, via a gateway

The HLR lookup (Home Location Register) queries the carrier's register: it is the only method that says "this number is reachable". Professional gateways charge for it per unit, at a rate far below that of an SMS — which makes it worthwhile as soon as an imported list contains a lot of dubious numbers.

For a private individual, there is no need to go that far. Format checking is enough, and the only real confirmation is still a reply from the person. That is also why a technical delivery receipt does not prove much: the subject is developed in our article on delivery receipts for free SMS.

Woman sitting on a sofa with a laptop on her knees, typing a message on her smartphone

A few habits so you never get it wrong again

  • One format, everywhere. Save all your contacts in +33… format, including French numbers. Android and iOS accept it without a problem and display the number nicely.
  • Never put a number in a "number" column. The rule applies to spreadsheets, databases and forms: a phone number is text, not a quantity.
  • A test on your own line before any bulk send. You will immediately see the format on arrival, the sender displayed and any splitting into several segments.
  • Count characters, not just numbers. The number's format determines delivery, the text's length determines cost. The site's SMS character counter shows the number of segments in real time, and our article on emojis and the drop to 70 characters explains why a simple heart sometimes triples the bill.
  • A paper notebook for sensitive numbers. A small address book remains the best fallback when a phone is lost or reset: unsynced contacts vanish without warning, and nobody remembers their doctor's number by heart.

And if your work involves entering numbers all day long, two pieces of hardware beat any software trick: a vertical ergonomic mouse reduces wrist strain during long spreadsheet sessions, and a neutral-light desk lamp limits confusion between 3, 8 and 6 on a printed listing. Number errors are very often reading errors.

Frequently asked questions

Should you write +33 or 0033?

Both refer to the same international exit prefix, but the E.164 standard settles on +33. Use +33 everywhere: it is the form expected by sending sites, APIs and sms: links. 00 remains valid when dialling a number from a phone keypad.

Can you send an SMS to a landline starting with 01?

No, not by standard SMS. French landlines do not have the text messaging service associated with mobiles. Only numbers starting with 06 and 07 — so +336 and +337 — receive SMS in France.

Why does my spreadsheet delete the 0 at the start of the number?

Because it interprets the column as a number, and a number does not start with zero. You have to declare the column as "Text" when importing the CSV file, or prefix each cell with an apostrophe. This is precisely why the +33… format is more robust: the + prevents numeric interpretation.

Does a correctly formatted number guarantee SMS delivery?

No. The format only guarantees that the network knows where to route the message. The number may have been cancelled, the phone switched off, or the recipient may have changed carrier. Only a paid HLR lookup tells you whether a line is genuinely active.

How do you write a foreign number for a send from a French site?

Same method: country code, then the national number without its leading zero. +32 for Belgium, +41 for Switzerland, +352 for Luxembourg. Before sending, check that the service used actually covers the target country: many free sites are limited to mainland France.

Updated 10 November 2026. Sources: International Telecommunication Union recommendation E.164, French numbering plan published by the Arcep, CNIL recommendations on SMS marketing.

Free SMS · No sign-up · To France

Ready to send your free SMS?

One hundred percent free, no sign-up, no ads and no limits. Write your message, enter the mobile number, confirm: it's sent in seconds.

Send a free SMS