Poland - Formatting standards & code snippets

Here is a complete list of standards and formats used in Poland. 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 Poland?

  • Alpha-2: PL
  • Alpha-3: POL
  • Numeric: 616
  • Java Locale Code: pl_PL
  • .Net CultureInfo Code: pl-PL
  • PHP Locale Code: pl_PL

What is the official language in Poland?

  • Polish

What is the date format in Poland?

The date format in Poland is little-endian:

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

What is the time format in Poland?

The time format in Poland 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("pl", "PL");
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", locale);
sdf.format(new Date());
Formatting time in C#:
CultureInfo ci = CultureInfo.GetCultureInfo("pl-PL");
DateTime.Now.ToString("HH:mm:ss", ci);
Formatting time in JavaScript:
let time = new Date();
date.toLocaleTimeString('pl-PL', {hour12: false});
Formatting time in PHP:
date("H:i:s");

What is the numeric format in Poland?

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

What is the currency format in Poland?

  • Format: 999 999 999,99 zł
    • Group Size: 3
    • Grouping Character: space
    • Decimal Character: , (comma)
    • Currency Symbol: zł
    • Currency Symbol Position: After number
    • Currency Name: Polish Zloty (PLN)
Formatting currency in Java:
Locale locale = new Locale("pl", "PL");
NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);
numberFormat.format(999999999.99d);
Formatting currency in C#:
double d = 999999999.99d;
d.ToString("c", CultureInfo.GetCultureInfo("pl-PL")));
Formatting currency in JavaScript:
let number = 999999999.99;
number.toLocaleString('pl-PL', {currency: 'PLN', style: 'currency'});
Formatting currency in PHP:
$fmt = new NumberFormatter($locale = 'pl_PL', NumberFormatter::CURRENCY); // or 'fr_CA'
$fmt->format(999999999.99);

Download list of provinces for Poland in CSV, JSON, HTML, SQL and XML


List of provinces: HTML - Select Control

---------------------------------
 ISO_3166-2 code + name - English
---------------------------------
<select>
	<option value="PL-WP">Greater Poland</option>
	<option value="PL-SK">Holy Cross</option>
	<option value="PL-KP">Kuyavia-Pomerania</option>
	<option value="PL-MA">Lesser Poland</option>
	<option value="PL-LD">Łódź</option>
	<option value="PL-DS">Lower Silesia</option>
	<option value="PL-LU">Lublin</option>
	<option value="PL-LB">Lubusz</option>
	<option value="PL-MZ">Mazovia</option>
	<option value="PL-OP">Opole (Upper Silesia)</option>
	<option value="PL-PD">Podlaskie</option>
	<option value="PL-PM">Pomerania</option>
	<option value="PL-SL">Silesia</option>
	<option value="PL-PK">Subcarpathia</option>
	<option value="PL-WN">Warmia-Masuria</option>
	<option value="PL-ZP">West Pomerania</option>
</select>

---------------------------------
 ISO_3166-2 code + name - Polish
---------------------------------
<select>
	<option value="PL-DS">Dolnośląskie</option>
	<option value="PL-KP">Kujawsko-pomorskie</option>
	<option value="PL-LU">Lubelskie</option>
	<option value="PL-LB">Lubuskie</option>
	<option value="PL-LD">Łódzkie</option>
	<option value="PL-MA">Małopolskie</option>
	<option value="PL-MZ">Mazowieckie</option>
	<option value="PL-OP">Opolskie</option>
	<option value="PL-PK">Podkarpackie</option>
	<option value="PL-PD">Podlaskie</option>
	<option value="PL-PM">Pomorskie</option>
	<option value="PL-SL">Śląskie</option>
	<option value="PL-SK">Świętokrzyskie</option>
	<option value="PL-WN">Warmińsko-mazurskie</option>
	<option value="PL-WP">Wielkopolskie</option>
	<option value="PL-ZP">Zachodniopomorskie</option>
</select>

List of provinces: CSV

// Provinces - English //
PL-WP,"Greater Poland"
PL-SK,"Holy Cross"
PL-KP,"Kuyavia-Pomerania"
PL-MA,"Lesser Poland"
PL-LD,"Łódź"
PL-DS,"Lower Silesia"
PL-LU,"Lublin"
PL-LB,"Lubusz"
PL-MZ,"Mazovia"
PL-OP,"Opole (Upper Silesia)"
PL-PD,"Podlaskie"
PL-PM,"Pomerania"
PL-SL,"Silesia"
PL-PK,"Subcarpathia"
PL-WN,"Warmia-Masuria"
PL-ZP,"West Pomerania"

// Provinces/Territories - Polish //
PL-DS,"Dolnośląskie"
PL-KP,"Kujawsko-pomorskie"
PL-LU,"Lubelskie"
PL-LB,"Lubuskie"
PL-LD,"Łódzkie"
PL-MA,"Małopolskie"
PL-MZ,"Mazowieckie"
PL-OP,"Opolskie"
PL-PK,"Podkarpackie"
PL-PD,"Podlaskie"
PL-PM,"Pomorskie"
PL-SL,"Śląskie"
PL-SK,"Świętokrzyskie"
PL-WN,"Warmińsko-mazurskie"
PL-WP,"Wielkopolskie"
PL-ZP,"Zachodniopomorskie"

List of provinces: JSON

----------------------------------
 ISO-3166-2 code + Name - English
----------------------------------
[
	{code: "PL-WP", name: "Greater Poland"},
	{code: "PL-SK", name: "Holy Cross"},
	{code: "PL-KP", name: "Kuyavia-Pomerania"},
	{code: "PL-MA", name: "Lesser Poland"},
	{code: "PL-LD", name: "Łódź"},
	{code: "PL-DS", name: "Lower Silesia"},
	{code: "PL-LU", name: "Lublin"},
	{code: "PL-LB", name: "Lubusz"},
	{code: "PL-MZ", name: "Mazovia"},
	{code: "PL-OP", name: "Opole (Upper Silesia)"},
	{code: "PL-PD", name: "Podlaskie"},
	{code: "PL-PM", name: "Pomerania"},
	{code: "PL-SL", name: "Silesia"},
	{code: "PL-PK", name: "Subcarpathia"},
	{code: "PL-WN", name: "Warmia-Masuria"},
	{code: "PL-ZP", name: "West Pomerania"}
]

----------------------------------
 ISO-3166-2 code + Name - Polish
----------------------------------
[
	{code: "PL-DS", name: "Dolnośląskie"},
	{code: "PL-KP", name: "Kujawsko-pomorskie"},
	{code: "PL-LU", name: "Lubelskie"},
	{code: "PL-LB", name: "Lubuskie"},
	{code: "PL-LD", name: "Łódzkie"},
	{code: "PL-MA", name: "Małopolskie"},
	{code: "PL-MZ", name: "Mazowieckie"},
	{code: "PL-OP", name: "Opolskie"},
	{code: "PL-PK", name: "Podkarpackie"},
	{code: "PL-PD", name: "Podlaskie"},
	{code: "PL-PM", name: "Pomorskie"},
	{code: "PL-SL", name: "Śląskie"},
	{code: "PL-SK", name: "Świętokrzyskie"},
	{code: "PL-WN", name: "Warmińsko-mazurskie"},
	{code: "PL-WP", name: "Wielkopolskie"},
	{code: "PL-ZP", name: "Zachodniopomorskie"}
]

List of provinces: SQL

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

CREATE TABLE IF NOT EXISTS province (
  id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  code VARCHAR(2) NOT NULL,
  name_en VARCHAR(50) NOT NULL,
  name_pl VARCHAR(50) NOT NULL,
  PRIMARY KEY (id),
  UNIQUE INDEX id_UNIQUE (id ASC),
  UNIQUE INDEX code_UNIQUE (code ASC)
) ENGINE = InnoDB;

INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-WP', 'Greater Poland', 'Wielkopolskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-SK', 'Holy Cross', 'Świętokrzyskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-KP', 'Kuyavia-Pomerania', 'Kujawsko-pomorskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-MA', 'Lesser Poland', 'Małopolskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-LD', 'Łódź', 'Łódzkie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-DS', 'Lower Silesia', 'Dolnośląskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-LU', 'Lublin', 'Lubelskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-LB', 'Lubusz', 'Lubuskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-MZ', 'Mazovia', 'Mazowieckie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-OP', 'Opole (Upper Silesia)', 'Opolskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-PD', 'Podlaskie', 'Podlaskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-PM', 'Pomerania', 'Pomorskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-SL', 'Silesia', 'Śląskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-PK', 'Subcarpathia', 'Podkarpackie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-WN', 'Warmia-Masuria', 'Warmińsko-mazurskie');
INSERT INTO province (id, code, name_en, name_pl) VALUES (null, 'PL-ZP', 'West Pomerania', 'Zachodniopomorskie');

List of provinces: XML

<!-- ISO 3166-2 code + name - English -->
<?xml version="1.0" encoding="UTF-8"?>
<provinces>
	<province>
		<code>PL-WP</code>
		<name>Greater Poland</name>
	</province>
	<province>
		<code>PL-SK</code>
		<name>Holy Cross</name>
	</province>
	<province>
		<code>PL-KP</code>
		<name>Kuyavia-Pomerania</name>
	</province>
	<province>
		<code>PL-MA</code>
		<name>Lesser Poland</name>
	</province>
	<province>
		<code>PL-LD</code>
		<name>Łódź</name>
	</province>
	<province>
		<code>PL-DS</code>
		<name>Lower Silesia</name>
	</province>
	<province>
		<code>PL-LU</code>
		<name>Lublin</name>
	</province>
	<province>
		<code>PL-LB</code>
		<name>Lubusz</name>
	</province>
	<province>
		<code>PL-MZ</code>
		<name>Mazovia</name>
	</province>
	<province>
		<code>PL-OP</code>
		<name>Opole (Upper Silesia)</name>
	</province>
	<province>
		<code>PL-PD</code>
		<name>Podlaskie</name>
	</province>
	<province>
		<code>PL-PM</code>
		<name>Pomerania</name>
	</province>
	<province>
		<code>PL-SL</code>
		<name>Silesia</name>
	</province>
	<province>
		<code>PL-PK</code>
		<name>Subcarpathia</name>
	</province>
	<province>
		<code>PL-WN</code>
		<name>Warmia-Masuria</name>
	</province>
	<province>
		<code>PL-ZP</code>
		<name>West Pomerania</name>
	</province>
</provinces>

<!-- ISO 3166-2 code + name - Polish -->
<?xml version="1.0" encoding="UTF-8"?>
<provinces>
	<province>
		<code>PL-DS</code>
		<name>Dolnośląskie</name>
	</province>
	<province>
		<code>PL-KP</code>
		<name>Kujawsko-pomorskie</name>
	</province>
	<province>
		<code>PL-LU</code>
		<name>Lubelskie</name>
	</province>
	<province>
		<code>PL-LB</code>
		<name>Lubuskie</name>
	</province>
	<province>
		<code>PL-LD</code>
		<name>Łódzkie</name>
	</province>
	<province>
		<code>PL-MA</code>
		<name>Małopolskie</name>
	</province>
	<province>
		<code>PL-MZ</code>
		<name>Mazowieckie</name>
	</province>
	<province>
		<code>PL-OP</code>
		<name>Opolskie</name>
	</province>
	<province>
		<code>PL-PK</code>
		<name>Podkarpackie</name>
	</province>
	<province>
		<code>PL-PD</code>
		<name>Podlaskie</name>
	</province>
	<province>
		<code>PL-PM</code>
		<name>Pomorskie</name>
	</province>
	<province>
		<code>PL-SL</code>
		<name>Śląskie</name>
	</province>
	<province>
		<code>PL-SK</code>
		<name>Świętokrzyskie</name>
	</province>
	<province>
		<code>PL-WN</code>
		<name>Warmińsko-mazurskie</name>
	</province>
	<province>
		<code>PL-WP</code>
		<name>Wielkopolskie</name>
	</province>
	<province>
		<code>PL-ZP</code>
		<name>Zachodniopomorskie</name>
	</province>
</states>