BabelStone Fonts

BabelStone Flags PUA


BabelStone Flags v. 4.07 is a font that supports multicolour flag glyphs for Unicode character sequences representing various national, sub-national, supra-national, and miscellaneous flags. The font is under development, and does not yet support all national flags of the world. The current version of the font includes glyphs for 245 flags in total. The font uses the COLR/CPAL format for layered colour fonts, which is supported by all major browsers (including IE11, Edge, Firefox, and Chrome). The colour flags for national flags (represented as Regional Indicator Sequences) should display correctly on the latest versions of Edge, Firefox, and Chrome, as well as in Microsoft Word 2016 or later. The font also includes an SVG table for the colour glyphs, so may work on systems that support SVG fonts but do not support COLR/CPAL fonts (but I have not been able to test this).

This font supports the two mechanisms for representing country and region flags described in the proposed update to Unicode Technical Standard #51 (Unicode Emoji): Regional Indicator Sequences and Flag Emoji Tag Sequences. These sequences are defined in the Emoji 5.0 data.

Regional Indicator Sequences

These are sequences of two Regional Indicator letter symbols (1F1E6..1F1FF = A..Z) corresponding to ISO 3166-1 alpha-2 two-letter country codes (technically the Unicode Standard references Unicode region subtags defined in CLDR, which are derived from ISO 3166-1 codes). For example, the country code for USA ("US") is represented by the Unicode character sequence <1F1FA 1F1F8> (RIS-U, RIS-S). If a particular RI sequence is not supported, it should fallback to displaying as two individual Regional Indicator letter symbols (generally a boxed capital letter A through Z).

As the boundary between adjacent RI sequences is not indicated at the encoding level, it is possible to get unexpected diplay results for consecutive sequences of more than two RI symbols. For example, you may put a sequence of four RI symbols AQAZ (๎€๎€™) on your web page, which you intend to render as the flags of Antarctica (AQ) and Azerbaijan (AZ), but if a visitor's browser does not support the flag of Antarctica the result for them may be the flag of Qatar (QA) sandwiched between orphaned RI symbols A and Z (๐Ÿ‡ฆโ€‹๎† โ€‹๐Ÿ‡ฟ). To avoid getting the wrong flags displayed it is safest to separate consecutive RI sequences with a space character or punctuation mark.

BabelStone Flags currently supports flags for 167 countries, territories or international entities with an ISO 3166-1 code, as well as the historic flags of Czechoslovakia (CS), East Germany (DD), the Soviet Union (SU), and Yugoslavia (YU).

Flag Emoji Tag Sequences

These are sequences of a waving black flag character (U+1F3F4 ๐Ÿด) followed by four or five lowercase tag letters (E0061..E007A) and/or tag digits (E0030..E0039) terminated by a cancel tag (E007F). These sequences correspond to ISO 3166-2 codes representing subdivisions of countries listed in ISO 3166-1 (e.g. states, provinces, counties, autonomous regions), but with the hyphen omitted, so for example the ISO 3166-2 code GB-SCT for Scotland is represented by this sequence of seven Unicode characters: <1F3F4 E0067 E0062 E0073 E0063 E0074 E007F> (Waving Black Flag, Tag-g, Tag-b, Tag-s, Tag-c, Tag-t, Cancel Tag). (Technically the Unicode Standard references Unicode subdivisionIDs defined in CLDR, which are derived from ISO 3166-2 codes.)

Tag characters are default ignorable and invisible, so if a flag tag sequence is not supported on a particular system it will fallback to displaying as a waving black flag. Thus, if you have a web site showing two different flag characters together (for example the England and Scotland flags), they may display correctly on your browser, but some visitors using different browsers may only see two identical waving black flags, which can be a little confusingย !

BabelStone Flags currently supports 80 sub-national flags for Austria, Belgium, Canada, China, France, Germany, Iraq, Ireland, Netherlands, Spain, Switzerland, United Kingdom, and the United States:

Only three of these are recommended for implementation by the Unicode Consortium (flags for England, Scotland, and Wales), but the rest are not recommended not to be implemented. Note that there is no official flag for Northern Ireland, but as the Ulster Banner is used to represent Northern Ireland in major international sporting competitions such as the FIFA World Cup, this flag is used for GB-NIR in BabelStone Flags. The synonym for Wales, GB-CYM, defined in BS 6879 but not listed in ISO 3166-2, is also supported in BabelStone Flags.

BabelStone Flags also includes five flags for historic English, Scottish and Welsh counties that do not have an ISO 3166-2 code. In these cases I have made up an unofficial GB code with "X" as the first letter of the subdivision code (e.g. GB-XCR for Caernarfonshire). These are indicated with three stars in the table of Flags for ISO 3166-2 Country Subdivision Codes below.

Zero Width Joiner (ZWJ) Sequences

In addition to the geo-political flags, BabelStone Flags also supports the Rainbow flag, Transgender flag, Pirate flag, and Australian Aboriginal flag. These are not single Unicode characters, but are represented as the following Emoji ZWJ Sequences (NB the sequence for the Australian Aboriginal flag is unofficial, and is not defined in the Unicode Standard)ย :

I have tested BabelStone Flags under Windows 10 on the latest versions of Chrome, Edge, and Firefox, and they all display the Rainbow and Pirate flags correctly. The Rainbow and Pirate flags also display correctly on Microsoft Word 2016 (but no longer display correctly for me on Microsoft Word 2019).

Display of Colour Flag Glyphs in Microsoft Word 2016


Colour Glyphs

The colour glyphs are created using the High-Logic FontCreator font editor. The glyphs are not emoji-style (waving flag), but attempt to accurately reproduce the proportions and colours of the flags as a flat design. All flag glyphs have the same height, but have differing widths depending upon the flag proportions (1:1, 1:2, 2:3, and 3:5 being the most common proportions). Except for the flag of Nepal, all glyphs are square or rectangular in shape, with no flagpole. The glyphs do not have an added border line, so if displayed on a white background any flags with a white background or large sections of white (e.g. flags for Japan, Korea, Russia, and Zug) merge into the surrounding background. It is therefore best to display the flags on a background colour that is not normally used as a flag colour, such as light grey or beige.

Colour Flag Glyphs at 48 points in Firefox browser

Monochrome Glyphs

If a particular software application supports the OpenType features used to substitute single glyphs for Regional Indicator sequences or flag emoji tag sequences, but it does not support the colour glyph format, then it will display fallback monochrome glyphs provided by the BabelStone Flags font. These monochrome glyphs are all in the form of a waving flag (with a flagpole on the left) with the two-letter ISO 3166-1 alpha-2 code on the flag. For flags corresponding to ISO 3166-2 subdivision codes the two- or three-letter code after the hyphen is placed under the flag.

Due to a bug in Chrome which displays the width of the colour glyphs as the width of the fallback monochrome glyph, the monochrome glyphs in BabelStone Flags have two dots on either side of the flag so that the monochrome glyph is exactly the same width as the corresponding colour glyph.

Monochrome Fallback Glyphs for Country Flags in BabelPad

Supported Flags

The tables below render each flag character in the BabelStone Flags font, either using the font installed on your local machine or using a WOFF font if the font is not installed on your local machine.

Flags for ISO 3166-1 Country Codes

This table lists the 167 ISO 3166-1 alpha-2 country codes supported by the BabelStone Flags font. These include 159 officially assigned codes, four exceptionally reserved codes (CP, EU, SU, and UN), two transitional reserved codes (CS and YU), one deleted code (DD), and one user-assigned code (XK). Currently 90 officially assigned codes are not yet supported in the font.

Code Sequence Glyph Description
AD <1F1E6 1F1E9> ๎€ƒ Andorra
AE <1F1E6 1F1EA> ๎€„ United Arab Emirates
AF <1F1E6 1F1EB> ๎€… Afghanistan
AG <1F1E6 1F1EC> ๎€† Antigua and Barbuda
AL <1F1E6 1F1F1> ๎€‹ Albania
AM <1F1E6 1F1F2> ๎€Œ Armenia
AO <1F1E6 1F1F4> ๎€Ž Angola
AQ <1F1E6 1F1F6> ๎€ Antarctica
AR <1F1E6 1F1F7> ๎€‘ Argentina
AT <1F1E6 1F1F9> ๎€“ Austria
AU <1F1E6 1F1FA> ๎€” Australia
AW <1F1E6 1F1FC> ๎€– Aruba
AX <1F1E6 1F1FD> ๎€— ร…land Islands
AZ <1F1E6 1F1FF> ๎€™ Azerbaijan
BA <1F1E7 1F1E6> ๎€š Bosnia and Herzegovina
BB <1F1E7 1F1E7> ๎€› Barbados
BD <1F1E7 1F1E9> ๎€ Bangladesh
BE <1F1E7 1F1EA> ๎€ž Belgium
BF <1F1E7 1F1EB> ๎€Ÿ Burkina Faso
BG <1F1E7 1F1EC> ๎€  Bulgaria
BH <1F1E7 1F1ED> ๎€ก Bahrain
BI <1F1E7 1F1EE> ๎€ข Burundi
BJ <1F1E7 1F1EF> ๎€ฃ Benin
BL <1F1E7 1F1F3> ๎€ฅ Brunei Darussalam
BN <1F1E7 1F1F1> ๎€ง Saint Barthรฉlemy
BO <1F1E7 1F1F4> ๎€จ Bolivia
BQ <1F1E7 1F1F6> ๎€ช Bonaire, Sint Eustatius and Saba
[Uses the flag of the Netherlands]
(See BQ-BO, BQ-SA, BQ-SE for individual flags)
BR <1F1E7 1F1F7> ๎€ซ Brazil
BS <1F1E7 1F1F8> ๎€ฌ Bahamas
BT <1F1E7 1F1F9> ๎€ญ Bhutan
BV <1F1E7 1F1FB> ๎€ฏ Bouvet Island
[Uses the flag of Norway]
BW <1F1E7 1F1FC> ๎€ฐ Botswana
BY <1F1E7 1F1FE> ๎€ฒ Belarus
CA <1F1E8 1F1E6> ๎€ด Canada
CC <1F1E8 1F1E8> ๎€ถ Cocos (Keeling) Islands
CD <1F1E8 1F1E9> ๎€ท Democratic Republic of the Congo
CF <1F1E8 1F1EB> ๎€น Central African Republic
CG <1F1E8 1F1EC> ๎€บ Congo
CH <1F1E8 1F1ED> ๎€ป Switzerland
CI <1F1E8 1F1EE> ๎€ผ Cรดte d'Ivoire
CK <1F1E8 1F1F0> ๎€พ Cook Islands
CL <1F1E8 1F1F1> ๎€ฟ Chile
CM <1F1E8 1F1F2> ๎€ Cameroon
CN <1F1E8 1F1F3> ๎ China
CO <1F1E8 1F1F4> ๎‚ Colombia
CP <1F1E8 1F1F5> ๎ƒ Clipperton Island
[Uses the flag of France]
Unofficial (exceptionally reserved code)
CR <1F1E8 1F1F7> ๎… Costa Rica
CS <1F1E8 1F1F8> ๎† Czechoslovakia
Unofficial (transitional reserved code)
CU <1F1E8 1F1FA> ๎ˆ Cuba
CV <1F1E8 1F1FB> ๎‰ Cabo Verde
CW <1F1E8 1F1FC> ๎Š Curaรงao
CX <1F1E8 1F1FD> ๎‹ Christmas Island
CY <1F1E8 1F1FE> ๎Œ Cyprus
CZ <1F1E8 1F1FF> ๎ Czechia
DD <1F1E9 1F1E9> ๎‘ German Democratic Republic (East Germany)
Unofficial (deleted code)
DE <1F1E9 1F1EA> ๎’ Germany
DJ <1F1E9 1F1EF> ๎— Djibouti
DK <1F1E9 1F1F0> ๎˜ Denmark
DZ <1F1E9 1F1FF> ๎ง Algeria
EE <1F1EA 1F1EA> ๎ฌ Estonia
ER <1F1EA 1F1F7> ๎น Eritrea
ES <1F1EA 1F1F8> ๎บ Spain
ET <1F1EA 1F1F9> ๎ป Ethiopia
EU <1F1EA 1F1FA> ๎ผ European Union (EU)
Unofficial (exceptionally reserved code)
FI <1F1EB 1F1EE> ๎‚Š Finland
FO <1F1EB 1F1F4> ๎‚ Faroe Islands
FR <1F1EB 1F1F7> ๎‚“ France
GB <1F1EC 1F1E7> ๎‚ United Kingdom
GE <1F1EC 1F1EA> ๎‚  Georgia
GF <1F1EC 1F1EB> ๎‚ก French Guiana
GG <1F1EC 1F1EC> ๎‚ข Guernsey
GI <1F1EC 1F1EE> ๎‚ค Gibraltar
GL <1F1EC 1F1F1> ๎‚ง Greenland
GP <1F1EC 1F1F5> ๎‚ซ Guadeloupe
GR <1F1EC 1F1F7> ๎‚ญ Greece
GY <1F1EC 1F1FE> ๎‚ด Guyana
HK <1F1ED 1F1F0> ๎ƒ€ Hong Kong
HN <1F1ED 1F1F3> ๎ƒƒ Honduras
(2022 version; old version available in PUA at U+F001)
HR <1F1ED 1F1F7> ๎ƒ‡ Croatia
HU <1F1ED 1F1FA> ๎ƒŠ Hungary
ID <1F1EE 1F1E9> ๎ƒ“ Indonesia
IE <1F1EE 1F1EA> ๎ƒ” Ireland
IL <1F1EE 1F1F1> ๎ƒ› Israel
IM <1F1EE 1F1F2> ๎ƒœ Isle of Man
IN <1F1EE 1F1F3> ๎ƒ India
IQ <1F1EE 1F1F6> ๎ƒ  Iran
IR <1F1EE 1F1F7> ๎ƒก Iran
IS <1F1EE 1F1F8> ๎ƒข Iceland
IT <1F1EE 1F1F9> ๎ƒฃ Italy
JE <1F1EF 1F1EA> ๎ƒฎ Jersey
JP <1F1EF 1F1F5> ๎ƒน Japan
KG <1F1F0 1F1EC> ๎„Š Kyrgyzstan
KH <1F1F0 1F1ED> ๎„‹ Cambodia
KP <1F1F0 1F1F5> ๎„“ North Korea
KR <1F1F0 1F1F7> ๎„• South Korea
KZ <1F1F0 1F1FF> ๎„ Kazakhstan
LA <1F1F1 1F1E6> ๎„ž Lao People's Democratic Republic
LI <1F1F1 1F1EE> ๎„ฆ Liechtenstein
LT <1F1F1 1F1F9> ๎„ฑ Lithuania
LU <1F1F1 1F1FA> ๎„ฒ Luxembourg
LV <1F1F1 1F1FB> ๎„ณ Latvia
MC <1F1F2 1F1E8> ๎„บ Monaco
MD <1F1F2 1F1E9> ๎„ป Moldova, Republic of
ME <1F1F2 1F1EA> ๎„ผ Montenegro
MF <1F1F2 1F1EB> ๎„ฝ Saint Martin
MK <1F1F2 1F1F0> ๎…‚ North Macedonia
ML <1F1F2 1F1F1> ๎…ƒ Mali
MM <1F1F2 1F1F2> ๎…„ Myanmar
MN <1F1F2 1F1F3> ๎…… Mongolia
MO <1F1F2 1F1F4> ๎…† Macau
MQ <1F1F2 1F1F6> ๎…ˆ Martinique
MR <1F1F2 1F1F7> ๎…‰ Mauritania
(2017 version; old version available in PUA at U+F000)
MT <1F1F2 1F1F9> ๎…‹ Malta
MY <1F1F2 1F1FE> ๎… Malaysia
NG <1F1F3 1F1EC> ๎…˜ Nigeria
NL <1F1F3 1F1F1> ๎… Netherlands
NO <1F1F3 1F1F4> ๎…  Norway
NP <1F1F3 1F1F5> ๎…ก Nepal
NU <1F1F3 1F1FA> ๎…ฆ Niue
NZ <1F1F3 1F1FF> ๎…ซ New Zealand
PA <1F1F5 1F1E6> ๎†† Panama
PE <1F1F5 1F1EA> ๎†Š Peru
PF <1F1F5 1F1EB> ๎†‹ French Polynesia
PG <1F1F5 1F1EC> ๎†Œ Papua New Guinea
PH <1F1F5 1F1ED> ๎† Philippines
PL <1F1F5 1F1F1> ๎†‘ Poland
PM <1F1F5 1F1F2> ๎†’ Saint Pierre and Miquelon
PR <1F1F5 1F1F7> ๎†— Puerto Rico
PS <1F1F5 1F1F8> ๎†˜ Palestine, State of
PT <1F1F5 1F1F9> ๎†™ Portugal
QA <1F1F6 1F1E6> ๎†  Qatar
RE <1F1F7 1F1EA> ๎†พ Rรฉunion
RO <1F1F7 1F1F4> ๎‡ˆ Romania
RS <1F1F7 1F1F8> ๎‡Œ Serbia
RU <1F1F7 1F1FA> ๎‡Ž Russia
SA <1F1F8 1F1E6> ๎‡” Saudi Arabia
SD <1F1F8 1F1E9> ๎‡— Sudan
SE <1F1F8 1F1EA> ๎‡˜ Sweden
SG <1F1F8 1F1EC> ๎‡š Singapore
SI <1F1F8 1F1EE> ๎‡œ Slovenia
SJ <1F1F8 1F1EF> ๎‡ Svalbard and Jan Mayen
[Uses the flag of Norway]
SK <1F1F8 1F1F0> ๎‡ž Slovakia
SM <1F1F8 1F1F2> ๎‡  San Marino
SO <1F1F8 1F1F4> ๎‡ข Somalia
SR <1F1F8 1F1F7> ๎‡ฅ Suriname
SS <1F1F8 1F1F8> ๎‡ฆ South Sudan
SU <1F1F8 1F1FA> ๎‡จ Soviet Union (USSR)
Unofficial (exceptionally reserved code)
SX <1F1F8 1F1FD> ๎‡ซ Sint Maarten
TF <1F1F9 1F1EB> ๎‡ณ French Southern Territories
TH <1F1F9 1F1ED> ๎‡ต Thailand
TJ <1F1F9 1F1EF> ๎‡ท Tajikistan
TM <1F1F9 1F1F2> ๎‡บ Turkmenistan
TR <1F1F9 1F1F7> ๎‡ฟ Turkey
TW <1F1F9 1F1FC> ๎ˆ„ Taiwan
UA <1F1FA 1F1E6> ๎ˆˆ Ukraine
UM <1F1FA 1F1F2> ๎ˆ” United States Minor Outlying Islands
[Uses the flag of the United States of America]
UN <1F1FA 1F1F3> ๎ˆ• United Nations (UN)
Unofficial (exceptionally reserved code)
US <1F1FA 1F1F8> ๎ˆš United States of America
UZ <1F1FA 1F1FF> ๎ˆก Uzbekistan
VA <1F1FB 1F1E6> ๎ˆข Holy See (Vatican City State)
VN <1F1FB 1F1F3> ๎ˆฏ Viet Nam
WF <1F1FC 1F1EB> ๎‰ Wallis and Futuna
XK <1F1FD 1F1F0> ๎‰  Kosovo
Unofficial (user-assigned code)
YT <1F1FE 1F1F9> ๎Šƒ Mayotte
YU <1F1FE 1F1FA> ๎Š„ Yugoslavia
Unofficial (transitional reserved code)
ZA <1F1FF 1F1E6> ๎ŠŠ South Africa
ZW <1F1FF 1F1FC> ๎Š  Zimbabwe

Flags for ISO 3166-2 Country Subdivision Codes

This table lists the 80 ISO 3166-2 country subdivision codes that are supported by the BabelStone Flags font. The four codes marked with three stars (***) are unofficial codes that I have devised for places that do not have an ISO 3166-2 code (currently these are all traditional English, Scottish, or Welsh counties that do not correspond to modern administrative districts). Seven of the codes listed are treated as aliases for ISO 3166-1 alpha-2 codes, and share the same flag glyph, and three NL codes are treated as aliases for BQ codes. Therefore there are actually only 70 separate flag glyphs in the font for this table.

Sequence Glyph Description
<1F3F4 E0061 E0074 E0031 E007F> ๎Œ€ Austria: Burgenland (AT-1)
<1F3F4 E0061 E0074 E0032 E007F> ๎Œ Austria: Kรคrnten (AT-2)
<1F3F4 E0061 E0074 E0033 E007F> ๎Œ‚ Austria: Niederรถsterreich (AT-3)
<1F3F4 E0061 E0074 E0034 E007F> ๎Œƒ Austria: Oberรถsterreich (AT-4)
<1F3F4 E0061 E0074 E0035 E007F> ๎Œ„ Austria: Salzburg (AT-5)
<1F3F4 E0061 E0074 E0036 E007F> ๎Œ… Austria: Steiermark (AT-6)
<1F3F4 E0061 E0074 E0037 E007F> ๎Œ† Austria: Tirol (AT-7)
<1F3F4 E0061 E0074 E0038 E007F> ๎Œ‡ Austria: Vorarlberg (AT-8)
<1F3F4 E0061 E0074 E0039 E007F> ๎Œˆ Austria: Wien (AT-9)
<1F3F4 E0062 E0065 E0062 E0072 E0075 E007F> ๎Œ Belgium: Brussels-Capital Region (BE-BRU)
<1F3F4 E0062 E0065 E0076 E006C E0067 E007F> ๎Œ‘ Belgium: Flemish Region (BE-VLG)
<1F3F4 E0062 E0065 E0077 E0061 E006C E007F> ๎Œ’ Belgium: Walloon Region (BE-WAL)
<1F3F4 E0062 E0071 E0062 E006F E007F> ๎Œ  Bonaire, Sint Eustatius and Saba: Bonaire (BQ-BO = NL-BQ1)
<1F3F4 E0062 E0071 E0073 E0061 E007F> ๎Œก Bonaire, Sint Eustatius and Saba: Saba (BQ-SA = NL-BQ2)
<1F3F4 EE0062 E0071 0073 E0065 E007F> ๎Œข Bonaire, Sint Eustatius and Saba: Sint Eustatius (BQ-SE = NL-BQ3)
<1F3F4 E0063 E0061 E006E E006C E007F> ๎Œฐ Canada: Newfoundland and Labrador (CA-NL)
<1F3F4 E0063 E0061 E006E E0075 E007F> ๎Œฑ Canada: Nunavut (CA-NU)
<1F3F4 E0063 E0061 E0071 E0063 E007F> ๎Œฒ Canada: Quebec (CA-QC)
<1F3F4 E0063 E0068 E0066 E0072 E007F> ๎€ Switzerland: Fribourg (CH-FR)
<1F3F4 E0063 E0068 E006C E0075 E007F> ๎ Switzerland: Luzern (CH-LU)
<1F3F4 E0063 E0068 E006E E0065 E007F> ๎‚ Switzerland: Neuchรขtel (CH-NE)
<1F3F4 E0063 E0068 E0073 E006F E007F> ๎ƒ Switzerland: Solothurn (CH-SO)
<1F3F4 E0063 E0068 E0073 E007A E007F> ๎„ Switzerland: Schwyz (CH-SZ)
<1F3F4 E0063 E0068 E0074 E0069 E007F> ๎… Switzerland: Ticino (CH-TI)
<1F3F4 E0063 E0068 E0076 E0073 E007F> ๎† Switzerland: Valais (CH-VS)
<1F3F4 E0063 E0068 E007A E0067 E007F> ๎‡ Switzerland: Zug (CH-ZG)
<1F3F4 E0063 E0068 E007A E0068 E007F> ๎ˆ Switzerland: Zรผrich (CH-ZH)
<1F3F4 E0063 E006E E0068 E006B E007F> ๎ƒ€ China: Hong Kong SAR (CN-HK = HK)
<1F3F4 E0063 E006E E006D E006F E007F> ๎…† China: Macau SAR (CN-MO = MO)
<1F3F4 E0064 E0065 E0062 E0079 E007F> ๎  Germany: Bavaria (DE-BY) (alternate version with lozenges available in the PUA at U+F400)
<1F3F4 E0065 E0073 E0063 E0074 E007F> ๎ฐ Spain: Catalonia (ES-CT)
<1F3F4 E0065 E0073 E0070 E0076 E007F> ๎ฑ Spain: Basque Country (ES-PV)
<1F3F4 E0066 E0072 E0062 E0072 E0065 E007F> ๎Ž€ France: Bretagne (FR-BRE)
<1F3F4 E0067 E0062 E0061 E0067 E0079 E007F> ๎Ž United Kingdom: Isle of Anglesey (GB-AGY/GB-YNM)
<1F3F4 E0067 E0062 E0063 E006F E006E E007F> ๎Ž‘ United Kingdom: Cornwall (GB-CON)
<1F3F4 E0067 E0062 E0064 E0065 E0076 E007F> ๎Ž’ United Kingdom: Devon (GB-DEV)
<1F3F4 E0067 E0062 E0064 E006F E0072 E007F> ๎Ž“ United Kingdom: Dorset (GB-DOR)
<1F3F4 E0067 E0062 E0065 E006E E0067 E007F> ๎Ž” United Kingdom: England (GB-ENG)
<1F3F4 E0067 E0062 E0066 E006C E006E E007F> ๎Ž• United Kingdom: Flintshire (GB-FLN/GB-FFL)
<1F3F4 E0067 E0062 E006D E006F E006E E007F> ๎Ž– United Kingdom: Monmouthshire (GB-MON/GB-FYN)
<1F3F4 E0067 E0062 E006E E0062 E006C E007F> ๎Ž— United Kingdom: Northumberland (GB-NBL)
<1F3F4 E0067 E0062 E006E E0069 E0072 E007F> ๎Ž˜ United Kingdom: Northern Ireland (GB-NIR)
[Not an official flag, but used for international sporting competitions]
<1F3F4 E0067 E0062 E006F E0072 E006B E007F> ๎Ž™ United Kingdom: Orkney Islands (GB-ORK)
<1F3F4 E0067 E0062 E0070 E0065 E006D E007F> ๎Žš United Kingdom: Pembrokeshire (GB-PEM/GB-BNF)
<1F3F4 E0067 E0062 E0073 E0063 E0074 E007F> ๎Ž› United Kingdom: Scotland (GB-SCT)
<1F3F4 E0067 E0062 E0073 E0072 E0079 E007F> ๎Žœ United Kingdom: Surrey (GB-SRY)
<1F3F4 E0067 E0062 E0076 E0067 E006C E007F> ๎Ž United Kingdom: The Vale of Glamorgan (GB-VGL/GB-BMG)
<1F3F4 E0067 E0062 E0077 E006C E0073 E007F>
<1F3F4 E0067 E0062 E0063 E0079 E006D E007F>
๎Žž United Kingdom: Wales (GB-WLS/GB-CYM)
<1F3F4 E0067 E0062 E0078 E0062 E0072 E007F> ๎ŽŸ United Kingdom: Breconshire (GB-XBR***)
<1F3F4 E0067 E0062 E0078 E0063 E0061 E007F> ๎Ž  United Kingdom: Caithness (GB-XCA***)
<1F3F4 E0067 E0062 E0078 E0063 E0072 E007F> ๎Žก United Kingdom: Caernarfonshire (GB-XCR***)
<1F3F4 E0067 E0062 E0078 E006B E0064 E007F> ๎Žข United Kingdom: Kirkcudbrightshire (GB-XKD***)
<1F3F4 E0067 E0062 E0078 E006D E0065 E007F> ๎Žฃ United Kingdom: Merionethshire (GB-XME***)
<1F3F4 E0067 E0062 E007A E0065 E0074 E007F> ๎Žค United Kingdom: Shetland Islands (GB-ZET)
<1F3F4 E0069 E0065 E0063 E007F> ๎€ Ireland: Connacht (IE-C)
<1F3F4 E0069 E0065 E006C E007F> ๎ Ireland: Leinster / Laighin (IE-L)
<1F3F4 E0069 E0065 E006D E007F> ๎‚ Ireland: Munster / An Mhumhain (IE-M)
<1F3F4 E0069 E0065 E0075 E007F> ๎ƒ Ireland: Ulster / Ulaidh (IE-U)
<1F3F4 E0069 E0071 E006B E0072 E007F> ๎ Iraq: Iqlฤซm Kลซrdistฤn / Herรชm-รฎ Kurdistan (IQ-KR)
<1F3F4 E006E E006C E0061 E0077 E007F> ๎€– Netherlands: Aruba (NL-AW = AW)
<1F3F4 E006E E006C E0062 E0071 E0031 E007F> ๎Œ  Netherlands: Bonaire (NL-BQ1 = BQ-BO)
<1F3F4 E006E E006C E0062 E0071 E0032 E007F> ๎Œก Netherlands: Saba (NL-BQ2 = BQ-SA)
<1F3F4 E006E E006C E0062 E0071 E0033 E007F> ๎Œข Netherlands: Sint Eustatius (NL-BQ3 = BQ-SE)
<1F3F4 E006E E006C E0066 E0072 E007F> ๎  Netherlands: Friesland (NL-FR)
<1F3F4 E006E E006C E0063 E0077 E007F> ๎Š Netherlands: Curaรงao (NL-CW = CW)
<1F3F4 E006E E006C E0073 E0078 E007F> ๎‡ซ Netherlands: Sint Maarten (NL-SX = SX)
<1F3F4 E0075 E0073 E0061 E006B E007F> ๎€ United States: Alaska (US-AK)
<1F3F4 E0075 E0073 E0061 E006C E007F> ๎ United States: Alabama (US-AL)
<1F3F4 E0075 E0073 E0061 E007A E007F> ๎‚ United States: Arizona (US-AZ)
<1F3F4 E0075 E0073 E0063 E0061 E007F> ๎ƒ United States: California (US-CA)
<1F3F4 E0075 E0073 E0063 E006F E007F> ๎„ United States: Colorado (US-CO)
<1F3F4 E0075 E0073 E0064 E0063 E007F> ๎… United States: District of Columbia (US-DC)
<1F3F4 E0075 E0073 E0068 E0069 E007F> ๎† United States: Hawaii (US-HI)
<1F3F4 E0075 E0073 E0069 E006E E007F> ๎‡ United States: Indiana (US-IN)
<1F3F4 E0075 E0073 E006D E0064 E007F> ๎ˆ United States: Maryland (US-MD)
<1F3F4 E0075 E0073 E006E E006D E007F> ๎‰ United States: New Mexico (US-NM)
<1F3F4 E0075 E0073 E0070 E0072 E007F> ๎†— United States: Puerto Rico (US-PR = PR)
<1F3F4 E0075 E0073 E0073 E0063 E007F> ๎Š United States: South Carolina (US-SC)
<1F3F4 E0075 E0073 E0074 E006E E007F> ๎‹ United States: Tennessee (US-TN)
<1F3F4 E0075 E0073 E0074 E0078 E007F> ๎Œ United States: Texas (US-TX)
<1F3F4 E0075 E0073 E0075 E006D E007F> ๎ˆ” United States: United States Minor Outlying Islands (US-UM = UM)

Zero Width Joiner (ZWJ) Flag Sequences

Sequence Glyph Description
<1F3F3 FE0F 200D 1F308>
<Waving White Flag, VS16, ZWJ, Rainbow>
๎‹ฐ Rainbow Flag
<1F3F3 FE0F 200D 26A7 FE0F>
<Waving White Flag, VS16, ZWJ, Male with Stroke and Male and Female Sign, VS16>
๎‹ฑ Transgender Flag
<1F3F4 200D 2620 FE0F>
<Waving Black Flag, ZWJ, Skull and Crossbones, VS16>
๎‹  Pirate Flag
<1F3F4 200D 1F998>
<Waving Black Flag, ZWJ, Kangaroo>
๎‹€ Australian Aboriginal flag

Private Use Area Flags

Sequence Glyph Description
<F000> ๎Šฐ Version of the flag of Mauritania (MR) used between 1959 and 2017
<F001> ๎Šฑ Version of the flag of Honduras (HN) used between 1949 and 2022
<F400> ๎ก Alternate version of the flag of Germany:Bavaria (DE-BY)

Unsupported ISO 3166-1 Country Codes

The BabelStone Flags font currently supports 159 out of the 249 officially assigned ISO 3166-1 alpha-2 codes. The following 90 codes are not yet supported, although I hope to eventually support them all.

Code Sequence Description
AI <1F1E6 1F1EE> Anguilla
AS <1F1E6 1F1F8> American Samoa
BM <1F1E7 1F1F2> Bermuda
BZ <1F1E7 1F1FF> Belize
DM <1F1E9 1F1F2> Dominica
DO <1F1E9 1F1F4> Dominican Republic
EC <1F1EA 1F1E8> Ecuador
EG <1F1EA 1F1EC> Egypt
EH <1F1EA 1F1ED> Western Sahara
FJ <1F1EB 1F1EF> Fiji
FK <1F1EB 1F1F0> Falkland Islands (Malvinas)
FM <1F1EB 1F1F2> Micronesia (Federated States of)
GA <1F1EC 1F1E6> Gabon
GD <1F1EC 1F1E9> Grenada
GH <1F1EC 1F1ED> Ghana
GM <1F1EC 1F1F2> Gambia
GN <1F1EC 1F1F3> Guinea
GQ <1F1EC 1F1F6> Equatorial Guinea
GS <1F1EC 1F1F8> South Georgia and the South Sandwich Islands
GT <1F1EC 1F1F9> Guatemala
GU <1F1EC 1F1FA> Guam
GW <1F1EC 1F1FC> Guinea-Bissau
HM <1F1ED 1F1F2> Heard Island and McDonald Islands
HT <1F1ED 1F1F9> Haiti
IO <1F1EE 1F1F4> British Indian Ocean Territory
JM <1F1EF 1F1F2> Jamaica
JO <1F1EF 1F1F4> Jordan
KE <1F1F0 1F1EA> Kenya
KI <1F1F0 1F1EE> Kiribati
KM <1F1F0 1F1F2> Comoros
KN <1F1F0 1F1F3> Saint Kitts and Nevis
KW <1F1F0 1F1FC> Kuwait
KY <1F1F0 1F1FE> Cayman Islands
LB <1F1F1 1F1E7> Lebanon
LC <1F1F1 1F1E8> Saint Lucia
LK <1F1F1 1F1F0> Sri Lanka
LR <1F1F1 1F1F7> Liberia
LS <1F1F1 1F1F8> Lesotho
LY <1F1F1 1F1FE> Libya
MA <1F1F2 1F1E6> Morocco
MG <1F1F2 1F1EC> Madagascar
MH <1F1F2 1F1ED> Marshall Islands
MP <1F1F2 1F1F5> Northern Mariana Islands
MS <1F1F2 1F1F8> Montserrat
MU <1F1F2 1F1FA> Mauritius
MV <1F1F2 1F1FB> Maldives
MW <1F1F2 1F1FC> Malawi
MX <1F1F2 1F1FD> Mexico
MZ <1F1F2 1F1FF> Mozambique
NA <1F1F3 1F1E6> Namibia
NC <1F1F3 1F1E8> New Caledonia
NE <1F1F3 1F1EA> Niger
NF <1F1F3 1F1EB> Norfolk Island
NI <1F1F3 1F1EE> Nicaragua
NR <1F1F3 1F1F7> Nauru
OM <1F1F4 1F1F2> Oman
PK <1F1F5 1F1F0> Pakistan
PN <1F1F5 1F1F3> Pitcairn
PW <1F1F5 1F1FC> Palau
PY <1F1F5 1F1FE> Paraguay
RW <1F1F7 1F1FC> Rwanda
SB <1F1F8 1F1E7> Solomon Islands
SC <1F1F8 1F1E8> Seychelles
SH <1F1F8 1F1ED> Saint Helena, Ascension and Tristan da Cunha
SL <1F1F8 1F1F1> Sierra Leone
SN <1F1F8 1F1F3> Senegal
ST <1F1F8 1F1F9> Sao Tome and Principe
SV <1F1F8 1F1FB> El Salvador
SY <1F1F8 1F1FE> Syrian Arab Republic
SZ <1F1F8 1F1FF> Eswatini
TC <1F1F9 1F1E8> Turks and Caicos Islands
TD <1F1F9 1F1E9> Chad
TG <1F1F9 1F1EC> Togo
TK <1F1F9 1F1F0> Tokelau
TL <1F1F9 1F1F1> Timor-Leste
TN <1F1F9 1F1F3> Tunisia
TO <1F1F9 1F1F4> Tonga
TT <1F1F9 1F1F9> Trinidad and Tobago
TV <1F1F9 1F1FB> Tuvalu
TZ <1F1F9 1F1FF> Tanzania, United Republic of
UG <1F1FA 1F1EC> Uganda
UY <1F1FA 1F1FE> Uruguay
VC <1F1FB 1F1E8> Saint Vincent and the Grenadines
VE <1F1FB 1F1EA> Venezuela (Bolivarian Republic of)
VG <1F1FB 1F1EC> Virgin Islands (British)
VI <1F1FB 1F1EE> Virgin Islands (U.S.)
VU <1F1FB 1F1FA> Vanuatu
WS <1F1FC 1F1F8> Samoa
YE <1F1FE 1F1EA> Yemen
ZM <1F1FF 1F1F2> Zambia

OpenType Features

Script Language Features Explanation
Latin <latn> Default <dflt> Glyph Composition Decomposition <ccmp> Substitution colour glyphs for flag sequences

Version History

Font Version Date Notes
BabelStone Flags 1.00 2014-04-03 Experimental test font (several test versions during 2014โ€“2016).
BabelStone Flags 2.00 2017-04-01 First formal release, supporting 28 Regional Indicator sequences, 27 Flag Emoji tag sequences, rainbow flag, and pirate flag.
BabelStone Flags 2.01 2017-04-05 Added 7 Regional Indicator sequences and 15 Flag Emoji tag sequences.
BabelStone Flags 2.02 2017-05-03 Added 36 Regional Indicator sequences.
BabelStone Flags 2.03 2017-11-11 Added 10 Regional Indicator sequences.
BabelStone Flags 2.04 2017-12-07 Added 1 Regional Indicator sequence and 1 Flag Emoji tag sequence.
BabelStone Flags 2.05 2018-02-10 Added 1 Regional Indicator sequence.
BabelStone Flags 2.06 2018-07-19 Added 2 Regional Indicator sequences.
BabelStone Flags 2.07 2018-09-27 Added 8 Regional Indicator sequences and 3 Flag Emoji tag sequences.
BabelStone Flags 2.08 2019-03-30 Added 9 Flag Emoji tag sequences for the states of Austria.
BabelStone Flags 2.09 2019-07-08 Added 17 Regional Indicator sequences.
BabelStone Flags 3.01 2020-09-23 Added 3 Regional Indicator sequences and 6 Flag Emoji tag sequences for countries and special municipalities of the Netherlands.
BabelStone Flags 3.02 2020-09-24 Added 4 Regional Indicator sequences and 9 Flag Emoji tag sequences for the United States.
BabelStone Flags 4.01 2021-10-14 Changed the black and white fallback glyphs, and all non-flag characters to use a sans serif font style; added colour glyphs for Regional Indicator Symbols, Tags, Variation Selectors, and ZWJ; added colour glyphs for Rainbow, Skull & Crossbones, Waving White Flag, and Waving Black Flag characters. Added flags of Afghanistan, Bahrain, and Qatar.
BabelStone Flags 4.02 2021-10-17 Added flags of Bangladesh, Barbados, Benin, Botswana, Brunei Darussalam, Burkina Faso, Burundi, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, United Arab Emirates, and Uzbekistan.
BabelStone Flags 4.03 2021-11-15 Added flags of Cocos (Keeling) Islands, Democratic Republic of Congo, Central African Republic, Republic of Congo, Cook Islands, Cameroon, Costa Rica, Cabo Verde, and Christmas Island; also added the Transgender flag.
BabelStone Flags 4.04 2022-01-30 Added flag of Honduras. Adjusted colours of the flag of Mauritania to match the official specification. Added Australian Aboriginal flag to the PUA following the transfer of copyright to the Commonwealth of Australia. Replaced non-standard variation sequences for former and alternate flag designs with PUA characters.
BabelStone Flags 4.05 2022-03-30 Added flags of Djibouti, Eritrea, Ethiopia, Somalia, South Sudan, and Sudan; the Kurdistan Region of Iraq; and flags for the historical countries of Czechoslovakia and Yugoslavia.
BabelStone Flags 4.06 2022-04-15 Changed the encoding of the Australian Aboriginal Flag from PUA (U+F800) to a ZWJ sequence (Waving Black Flag + ZWJ + Kangaroo).
BabelStone Flags 4.07 2023-05-18 Add Flag Emoji tag sequence for Breconshire.
Created a PUA-mapped version of the font.


BabelStone Flags is licensed under the SIL Open Font License 1.1, which means you are free to use it for personal or commercial purposes, and to redistribute it by itself or as part of a free or commercial software package, just as long as you do not sell the font on its own. The license also allows you to modify the font in any way you like, as long as the modified font does not use "BabelStone" in its name. Please read the license for details.

NB The WOFF and WOFF2 fonts are for web hosting, and are not required by most users.

If you have difficulty displaying or printing some or all of the flag glyphs then you may wish to use the "BabelStone Flags PUA" font which does not use OpenType features to render character sequences as glyphs, but maps all the flag glyphs to the Private Use Area (PUA) only. Country and region flags are mapped to the PUA in alphabetical two-letter code sequence from E000 (AA) through E2A3 (ZZ); flags for country subdivisions are mapped to E300 through E43F (e.g. US state flags are at E400 through E40C); and other flags are mapped to E2B0 through E2FF.

Made with FontCreator badge

BabelStone Maritime (ASCII-mapped Maritime Signal Flags)

BabelStone Fonts