France - Formatting standards & code snippets

Here is a complete list of standards and formats used in France. It includes a full list of ISO codes, number, date, currency, telephone and address formats. You will also get code examples on how to perform the most common formatting operations in Java, C#, JavaScript and PHP. Multiple resource files are made available, mainly the complete list of states, in different formats such as CSV, XML, JSON, HTML and SQL.

What are the ISO-3166-1 codes for France?

  • Alpha-2: FR
  • Alpha-3: FRA
  • Numeric: 250
  • Java Locale Code: fr_FR
  • .Net CultureInfo Code: fr-FR
  • PHP Locale Code: fr_FR

What is the official language in France?

  • French

What is the date format in France?

The date format in France is little-endian:

  • Format: d/mm/yyyy
    Ex: 3/12/2014 for December 3rd 2014
Formatting a date in Java:
Locale locale = new Locale("fr", "FR");
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", locale);
sdf.format(new Date());
Formatting a date in C#:
CultureInfo ci = CultureInfo.GetCultureInfo("fr-FR");
DateTime.Now.ToString("dd/MM/yyyy", ci);
Formatting a date in JavaScript:
let date = new Date();
date.toLocaleDateString('fr-FR');
Formatting a date in PHP:
date("d/m/Y");

What is the time format in France?

The time format in France is 24-hour notation in most cases.

  • Format: HH:mm[:ss]
    Ex: 09:00 for 09:00AM, and 21:00 for 09:00PM
Formatting time in Java:
Locale locale = new Locale("fr", "FR");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", locale);
sdf.format(new Date());
Formatting time in C#:
CultureInfo ci = CultureInfo.GetCultureInfo("fr-FR");
DateTime.Now.ToString("HH:mm:ss", ci);
Formatting time in JavaScript:
let time = new Date();
date.toLocaleTimeString('fr-FR', {hour12: false});
Formatting time in PHP:
date("H:i:s");

What is the numeric format in France?

  • Format: 999 999 999,99
    • Group Size: 3
    • Grouping Character: space
    • Decimal Character: , (comma)
Formatting numbers in Java:
Locale locale = new Locale("fr", "FR");
NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
numberFormat.format(999999999.99d);
Formatting numbers in C#:
double d = 999999999.99d;
d.ToString("n", CultureInfo.GetCultureInfo("fr-FR")));
Formatting numbers in JavaScript:
let number = 999999999.99;
number.toLocaleString('fr-FR');
Formatting numbers in PHP:
$fmt = new NumberFormatter($locale = 'fr_FR', NumberFormatter::DECIMAL);
$fmt->format(999999999.99);

What is the currency format in France?

  • Format: 999 999 999,99 €
    • Group Size: 3
    • Grouping Character: space
    • Decimal Character: , (comma)
    • Currency Symbol: €
    • Currency Symbol Position: After number
    • Currency Name: Euro (EUR)
Formatting currency in Java:
Locale locale = new Locale("fr", "FR");
NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);
numberFormat.format(999999999.99d);
Formatting currency in C#:
double d = 999999999.99d;
d.ToString("c", CultureInfo.GetCultureInfo("fr-FR")));
Formatting currency in JavaScript:
let number = 999999999.99;
number.toLocaleString('fr-FR', {currency: 'EUR', style: 'currency'});
Formatting currency in PHP:
$fmt = new NumberFormatter($locale = 'fr_FR', NumberFormatter::CURRENCY);
$fmt->format(999999999.99);

Download list of regions for France in CSV, JSON, HTML, SQL and XML


List of regions: HTML - Select Control

---------------------------------
 ISO_3166-2 code + name - French
---------------------------------
<select>
	<option value="FR-ARA">Auvergne-Rhône-Alpes</option>
	<option value="FR-BFC">Bourgogne-Franche-Comté</option>
	<option value="FR-BRE">Bretagne</option>
	<option value="FR-CVL">Centre-Val de Loire</option>
	<option value="FR-COR">Corse</option>
	<option value="FR-GES">Grand Est</option>
	<option value="FR-HDF">Hauts-de-France</option>
	<option value="FR-IDF">Île-de-France</option>
	<option value="FR-NOR">Normandie</option>
	<option value="FR-NAQ">Nouvelle-Aquitaine</option>
	<option value="FR-OCC">Occitanie</option>
	<option value="FR-PDL">Pays de la Loire</option>
	<option value="FR-PAC">Provence-Alpes-Côte d'Azur</option>
</select>

List of regions: CSV

code,name
FR-ARA,"Auvergne-Rhône-Alpes"
FR-BFC,"Bourgogne-Franche-Comté"
FR-BRE,"Bretagne"
FR-CVL,"Centre-Val de Loire"
FR-COR,"Corse"
FR-GES,"Grand Est"
FR-HDF,"Hauts-de-France"
FR-IDF,"Île-de-France"
FR-NOR,"Normandie"
FR-NAQ,"Nouvelle-Aquitaine"
FR-OCC,"Occitanie"
FR-PDL,"Pays de la Loire"
FR-PAC,"Provence-Alpes-Côte d'Azur"

List of regions: JSON

----------------------------------
 ISO-3166-2 code + Name - French
----------------------------------
[
	{code: "FR-ARA", name: "Auvergne-Rhône-Alpes"},
	{code: "FR-BFC", name: "Bourgogne-Franche-Comté"},
	{code: "FR-BRE", name: "Bretagne"},
	{code: "FR-CVL", name: "Centre-Val de Loire"},
	{code: "FR-COR", name: "Corse"},
	{code: "FR-GES", name: "Grand Est"},
	{code: "FR-HDF", name: "Hauts-de-France"},
	{code: "FR-IDF", name: "Île-de-France"},
	{code: "FR-NOR", name: "Normandie"},
	{code: "FR-NAQ", name: "Nouvelle-Aquitaine"},
	{code: "FR-OCC", name: "Occitanie"},
	{code: "FR-PDL", name: "Pays de la Loire"},
	{code: "FR-PAC", name: "Provence-Alpes-Côte d'Azur"}
]

List of regions: SQL

-- -----------------------------------------------------
-- Table `region`
-- -----------------------------------------------------
DROP TABLE IF EXISTS region;

CREATE TABLE IF NOT EXISTS region (
  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  code VARCHAR(6) NOT NULL,
  name VARCHAR(100) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE INDEX id_UNIQUE (id ASC),
  UNIQUE INDEX code_UNIQUE (code ASC)
) ENGINE = InnoDB;

INSERT INTO region (id, code, name) VALUES (null, 'FR-ARA', 'Auvergne-Rhône-Alpes');
INSERT INTO region (id, code, name) VALUES (null, 'FR-BFC', 'Bourgogne-Franche-Comté');
INSERT INTO region (id, code, name) VALUES (null, 'FR-BRE', 'Bretagne');
INSERT INTO region (id, code, name) VALUES (null, 'FR-CVL', 'Centre-Val de Loire');
INSERT INTO region (id, code, name) VALUES (null, 'FR-COR', 'Corse');
INSERT INTO region (id, code, name) VALUES (null, 'FR-GES', 'Grand Est');
INSERT INTO region (id, code, name) VALUES (null, 'FR-HDF', 'Hauts-de-France');
INSERT INTO region (id, code, name) VALUES (null, 'FR-IDF', 'Île-de-France');
INSERT INTO region (id, code, name) VALUES (null, 'FR-NOR', 'Normandie');
INSERT INTO region (id, code, name) VALUES (null, 'FR-NAQ', 'Nouvelle-Aquitaine');
INSERT INTO region (id, code, name) VALUES (null, 'FR-OCC', 'Occitanie');
INSERT INTO region (id, code, name) VALUES (null, 'FR-PDL', 'Pays de la Loire');
INSERT INTO region (id, code, name) VALUES (null, 'FR-PAC', 'Provence-Alpes-Côte d'Azur');

List of regions: XML

<!-- ISO 3166-2 code + name - French -->
<?xml version="1.0" encoding="UTF-8"?>
<states>
	<state>
		<code>FR-ARA</code>
		<name>Auvergne-Rhône-Alpes</name>
	</state>
	<state>
		<code>FR-BFC</code>
		<name>Bourgogne-Franche-Comté</name>
	</state>
	<state>
		<code>FR-BRE</code>
		<name>Bretagne</name>
	</state>
	<state>
		<code>FR-CVL</code>
		<name>Centre-Val de Loire</name>
	</state>
	<state>
		<code>FR-COR</code>
		<name>Corse</name>
	</state>
	<state>
		<code>FR-GES</code>
		<name>Grand Est</name>
	</state>
	<state>
		<code>FR-HDF</code>
		<name>Hauts-de-France</name>
	</state>
	<state>
		<code>FR-IDF</code>
		<name>Île-de-France</name>
	</state>
	<state>
		<code>FR-NOR</code>
		<name>Normandie</name>
	</state>
	<state>
		<code>FR-NAQ</code>
		<name>Nouvelle-Aquitaine</name>
	</state>
	<state>
		<code>FR-OCC</code>
		<name>Occitanie</name>
	</state>
	<state>
		<code>FR-PDL</code>
		<name>Pays de la Loire</name>
	</state>
	<state>
		<code>FR-PAC</code>
		<name>Provence-Alpes-Côte d'Azur</name>
	</state>
</states>