French test data guide

French address format for forms, checkout and test data

A French postal address normally puts the recipient first, the delivery-point and street lines next, then a five-digit postal code followed by the destination locality.

Scope

What this guide helps you verify

Understand how a French address is structured, which fields a form should store and how to create repeatable synthetic examples without treating them as deliverable addresses.

Last reviewed: July 24, 2026

Key points

Short answer

  • A French postal code contains five digits and should be stored as text so a leading zero is preserved.
  • The postal code precedes the destination locality on the final domestic address line.
  • La Poste recommends no more than six address lines for domestic mail and a left-aligned address block.
  • A correctly structured synthetic address is useful for QA but does not prove that the street address exists or is deliverable.

What is the standard French address line order?

French address data is easiest to validate when each semantic part is stored separately. A form can then render a postal block without forcing users to place apartment, building and street details in one ambiguous field.

La Poste describes an address ordered from the recipient to the destination locality. Domestic mail should use no more than six lines; international mail may add a final country line.

Common French address fields for forms and fixtures

OrderFieldExampleImplementation note
1Recipient or companyCamille Martin-TestKeep person and organization fields separate when the product supports both.
2Additional delivery pointBâtiment Test AApartment, floor, entrance, residence or building can use address line 2.
3Street number and street18 rue du ScénarioPreserve letters such as 12 bis and avoid assuming the street number is purely numeric.
4Postal code and locality75002 PARISStore the five-digit postal code as a string; place it before the locality.
5Country for international useFRANCEUsually omitted on domestic mail and included for cross-border delivery.

French postal codes, departments and localities

A French postal code has five digits. The first two digits often resemble a department code, but they are routing information rather than a universal administrative identifier. Corsica, overseas territories, CEDEX and communes sharing a delivery office require special care.

A city and postal-code pair can be coherent while the complete street address remains invented. Production shipping flows should use an address-validation or carrier service when deliverability matters.

Do not convert postal codes to numbers. Values beginning with 0 would lose their first character.

Useful French address test scenarios

ScenarioWhat to testExpected behavior
Standard metropolitan addressStreet, 5-digit postcode and localityForm accepts the value and preserves accents and spaces.
Leading-zero postcodeA code such as 06000Storage and CSV export keep all five characters.
Address line 2Building, apartment or residenceOptional line remains associated with the delivery point.
Overseas FranceOverseas department and localityCountry remains France while region and postcode are retained.
Long or accented localityUnicode and field lengthUI wraps cleanly and the API payload remains UTF-8.

How to create repeatable address fixtures

  • Keep street, address line 2, postal code, locality, department, region and country in explicit fields.
  • Use a stable seed and record the dataset version so automated tests can reproduce the same rows.
  • Mark every generated record as synthetic and avoid copying customer or employee addresses.
  • Test JSON and CSV exports because nested address objects and flat import columns have different requirements.
  • Add invalid cases separately: empty locality, four-digit postcode, unsupported characters and oversized address lines.

Common French address testing mistakes

  • Assuming every five-digit postal code maps one-to-one to a department or commune.
  • Using numeric database columns that remove leading zeroes.
  • Claiming a generated address is real because the city and postal code are coherent.
  • Using a synthetic fixture for a real shipment, identity check or billing verification.
  • Testing only Paris and missing overseas, accented and multi-line address cases.

Related tools

Apply the guide to real test data

Use these tools to generate, validate or structure the values explained in this guide.

FAQ

Questions about this topic

What is the correct format for a French address?

A common French address block lists the recipient, optional building or delivery details, street number and street, then the five-digit postal code followed by the destination locality. Add FRANCE as the last line for international mail.

Does the postal code come before the city in France?

Yes. The standard destination line places the five-digit postal code before the locality, for example 75002 PARIS.

How many lines can a French postal address contain?

La Poste recommends no more than six lines for a domestic address and seven for international mail when the country line is included.

Should a French postal code be stored as a number or text?

Store it as text. French postal codes contain five characters and some begin with zero, which a numeric field would remove.

Can one French postal code cover several localities?

Postal routing does not always match administrative boundaries one-to-one. A robust form should validate the full locality and postal-code pair rather than infer everything from the first two digits.

What is CEDEX in a French address?

CEDEX is a dedicated routing service used by many organizations. Its destination line can include a CEDEX label and number, so it should not be treated as an ordinary city name.

Are generated French test addresses deliverable?

No guarantee is made. OnSubmit invents street lines and uses curated city/postal-code pairs for testing; it does not query La Poste or verify real-world deliverability.

How do I generate the same French test addresses again?

Reuse the same seed, filters, number of rows and dataset version. This creates deterministic fixtures for QA, screenshots and development databases.