Emoji Flags Explained
As with most things Unicode-related, emoji flags are more complicated than they may first appear.
With calls in recent years for emoji representation of the Aboriginal Australian flag, Transgender flag, Brittany flag, Kurdish flag (and many more) it's worth taking a closer look at the ways that flags can be added to the Unicode Standard, and how that impacts the set of flags available today.
After all, Apple's iPhone only included 10 country flag emojis in 2008, and now there are 268. How were these 268 determined to be more eligible than any other flags?
Above: Only 10 country flags were on iPhone in 2008. Photo: Jeremy Burge / Emojipedia.
For each flag shown on an average emoji keyboard, there are at least four different ways it might be encoded behind the scenes.
While the code used to display a flag might seem like the least interesting part of a flag emoji, understanding these details is essential in determining why these 268 flags specifically exist, and help frame the feasibility of new flags in future.
Let's use these as a starting point:
🏁 Chequered Flag
Chequered Flag is the easiest of the flags. It happens to look like a flag, but isn't encoded any differently to a 📻 Radio or 🎺 Trumpet.
- Number of code points: 1
- Similar flags: 🚩 🎌 🏳️
Flag like this (and 🚩) were generally added to Unicode for compatibility with the Japanese carrier emoji sets, or other pre-emoji fonts such as Webdings.
These generally aren't associated with any specific country, region or group of people—although the 🎌 Crossed Flags emoji displays as Japanese flags on all major platforms (previously a South Korean flag on Samsung).
🏳️🌈 Rainbow Flag
Rainbow flag is a ZWJ Sequence of these two emojis:
Unicode has listed this as being Recommended for General Interchange (RGI), meaning major vendors support or have committed to supporting this sequence.
- Number of code points: 4
- Similar flags: 🏴☠️
By design, ZWJ Sequences don't require Unicode approval like a regular emoji does. As such, it's possible for vendors to add more of these by joining two existing emojis together, if they wish.
The drawback is that without consensus among vendors, users won't see custom ZWJ Sequences correctly across platforms and would instead see the individual parts. An example of this is:
Using the same concept as Rainbow Flag, Twitter supported a Pirate Flag in their Twemoji set for a number of years by joining the 🏴 Black Flag and ☠️ Skull and Crossbones before Unicode listed this flag as RGI in 2018. All major vendors now support it.
🇺🇸 Flag for United States
Country flags such as the one for the USA are created by pairing two Regional Indicator characters.
Systems look up to see if a pair is valid, and show a flag instead.
This is a clever system that avoids Unicode needing to create a new code point for every country. The United States flag is a sequence of these two characters:
The list of valid sequences for country flags is derived from ISO 3166-1 which is an internationally recognized list of countries and regions.
- Number of code points: 2
- Similar flags: 🇬🇧 🇨🇦 🇵🇭 🇩🇪 🇮🇳
ISO 3166-1 also includes codes for some macro-regions, namely:
If there is a code on the list, it is listed as an emoji automatically, without any proposal required.
Vendors aren't required to support all of these flags (Microsoft doesn't support any country flags on Windows, instead showing the two-letter country codes), but generally do support everything in the list for compatibility.
If the ISO 3166-1 standard was updated to add a new country tomorrow, that would almost certainly end up on the emoji flag list.
Aside: "Made Up" ISO 31661- codes
WhatsApp previously invented its own pairs of regional indicators for a few flags including Scotland (XS) and Texas (XT). These were used to display regions that weren't covered by ISO 3166-1 (the "X" at the front indicated these aren't part of the standard set).
These codes didn't work on other platforms, and would show just the letters if sent outside WhatsApp. In theory there was no reason other platforms couldn't have supported these, but the challenge would have been scaling it to more regions, if it became popular. In fact, this is pretty much why Unicode exists in the first place: instead of companies backwards-engineering how other platforms display various text characters, have a standard that all companies contribute toward and agree to use.
Above: A Texas Flag emoji shown on the WhatsApp for Android emoji keyboard. Photo: Jeremy Burge / Emojipedia.
XT worked for Texas, but if this expanded to all US states, what would Tennessee use?
Due to the way these codes were implemented, sets of three or more Regional Indicator characters aren't feasible, as text rendering engines will match any two with an emoji first (eg if XSD were used for South Dakota, text engines would render the XS as a Scottish flag first, and be left with the D hanging at the end)
This became a non-issue in 2017, when subdivisions such as Scotland and Texas gained support in the Unicode Standard, albeit using a different method.
🏴 Flag for Scotland (GB-SCT)
Until recently, Scotland was not eligible for its own emoji flag, at least in the way Unicode encodes flags.
The 🇬🇧 United Kingdom is listed under ISO 3166-1 (the list of countries which a country or region needed to be listed on to get a flag).
However ISO has a different list which shows subdivisions for each country. You can view subdivisions for the UK or the USA, or any country in the world. These use the country code, followed by a subdivision. For instance Scotland is GB-SCT and Texas is US-TX. Each code is unique.
- Number of code points: 7
- Similar flags: 🏴 🏴
Emoji 5.0 officially classifies every "regular" or "deprecated" subdivision as being valid.
Over 3,000 new flags are possible, if vendors wish to support them (not all subdivisions of the world actually have their own flags).
For the purposes of cross-platform consistency, Unicode has deemed three of these flags as RGI:
- 🏴 England
- 🏴 Scotland
- 🏴 Wales
This means major vendors support or have committed to supporting these flags.
Should a vendor, such as Google or Twitter, wish to support more subdivisions they are perfectly able to do this: provided there is a valid code to use.
Above: The seven characters that make up a subdivision flag within Unicode.
At present, Unicode doesn't assess proposals for subdivision flags in the same way as other emojis.
Instead of weighing up each region of the world based on regular selection factors (distinctiveness, likely frequency of use, etc); Unicode instead informs vendors of new proposals for subdivision flags at its quarterly Technical Committee meetings and vendors are welcome to act on this information, should they wish to support additional subdivision flags.
Emojipedia most often sees requests for subdivisions that are perceived to have strong or independent identities; for example Brittany (Bretagne), Catalonia, Texas, California, Northern Ireland. It seems reasonable that companies would be cautious when considering new regions: some may be contentious, and others could suffer from "the whole set" issue (Texas is a well known flag in the USA, but what about Idaho?)
WhatsApp now supports the subdivision flags for England, Scotland, Wales and Texas using valid subdivision codes, and not the previous bolted-on region codes of XE, XS, XW, and XT.
Geographical Flags Without Codes
A gap in Unicode flag support exists when it comes to geographical regions of the world which don't have an ISO region code or subdivision code.
For example: Native American tribe flags, Australian Aboriginal flag, Maori flag, Torres-Strait Islander flag.
These all represent people of a region or part of the world, but don't have an ISO subdivision code representing them. At present, Unicode doesn't have any mechanism to support these types of flags:
“Flags intended to represent specific countries or regions of the world must have a valid Unicode region code (based on ISO/BCP47) or Unicode subdivision code (based on ISO 3166-2).”
Above: The Australian Aboriginal Flag does not have a corresponding region code, like many other flags of the world. Photo: Peripitus.
One category of flag that isn't specifically regional is that of various Pride Flags, with various designs representing various LGBT groups including bisexual, transgender or pansexual communities.
These technically fall under the same criteria as any emoji proposal. Is it distinctive, is it likely to be well used, is it open-ended?
The last question could be one area that pride flags struggle, if it is unclear which pride flags are notable enough for representation, and by which criteria they are more notable than others.
Above: Many pride flags exist, some better known than others. Via Wikipedia.
If it were determined that one or more pride flags do meet the criteria for acceptance as an emoji, the question for Unicode would become: which type of encoding would it use?
For example, a Transgender pride flag could be encoded as a concept (eg a new code point for "Transgender Pride Flag" or "Transgender Flag" which could have any design), or by its colors (eg a ZWJ Sequence of 🏳️💙💗 or similar, or a code point describing the colors), or something else.
ZWJ Sequences are generally seen as more flexible, but it would be odd to use a color-based sequence if the design for any particular pride flag is likely to change over time. The same would apply to any code point that referenced the design instead of the intention.
There are multiple options for this flag currently used in various regions, so vendors may also want to be sure that a single design is representative of a community internationally, rather than have split views on which design to show for one emoji.
TL;DR: How Flags are Assessed
- Has ISO 3166-1 code: ✅ Automatically included
- Has ISO subdivision code: ✳️ If valid, up to vendors
- Geographical, but no code: ❌ Not supported
- Other / non-geographical: 👩⚖️ Subject to regular emoji selection factors
Details from Unicode about proposals for flags.
What This All Means
Not all flags are equal when it comes to standards bodies.
The fact that some obscure flags have an emoji (looking at you, Isle of Man) isn't necessarily because they met current-day criteria about usage, but could just be that they were on the right list at the right time (namely, most region codes on the ISO 31616-1 list).
More subdivision flags are relatively simple to support (from a technical perspective) if vendors feel any would be worthwhile additions, and aren't likely to cause unintended consequences. Flags have real-world implications, too.
Flags for countries, regions or people not grouped under an existing standard like ISO (and thus not eligible for encoding) are a difficult case. Whether, perhaps, a national standards body could add an ISO code for Australian Aboriginal or Torrest-Strait Islander people is something that might be considered by people in these communities.
As for other (non-geographical) flags, particularly pride flags, it seems as though some of these could be a real possibility, should they be able to make the case of meeting the current Unicode emoji selection factors.
Above: The Unicode code points inside various emoji flags.
Given the way flags act as a rallying icon for communities of people, it's clear there will always be demand for new flag emojis.
While the option to send any flag as an image exists on most platforms, the issue is both about practicality (emojis are more flexible than images) but further: representation.
Appearing on the emoji keyboard of any major platform is a sign of legitimacy. Why people want to see their flag as an emoji is clear. Determining the exact set of flags - or any category of emojis - to include on every device in the world is less clear.
Technically, the list of valid sequences for country flags are from the Unicode region codes, which in turn are derived from ISO 3166-1. The few exceptions and ways this list works is detailed here. As with any list, the exact definition of "what is a country" or "how many countries are there" varies. ↩︎
This naming convention is used within ISO 3166-1 alpha-2, whereby "X" at the start indicates a sequence not part of the standard, but permits a space where new ISO codes won't be allocated. The European Commission and SWIFT use "XK" as a stand-in for Kosovo. Also supported within Unicode. ↩︎
Note: Emojipedia is a voting member of the Unicode Consortium. Companies such as Apple and Google are full members with one vote each, while Emojipedia is a supporting member with a half vote. I represent Emojipedia at Unicode Technical Committee (UTC) meetings, but don't speak on behalf of any vendors, nor Unicode itself. ↩︎
In the case of Northern Ireland, no major vendor currently supports this flag, potentially due to the country having no official flag other than the Union Flag (🇬🇧). The most commonly-seen Northern Irish flag (he Ulster Banner) has had no official status since 1972 and is not used by the current Northern Ireland government or by the British government, though it is used to represent Northern Ireland internationally in some sporting competitions. ↩︎
"Blue Flag With Two Horizontal Middle Pink Stripes and One Horizontal Middle White Stripe" would follow a similar pattern to ⛿ White Flag with Horizontal Middle Black Stripe. ↩︎
Don't get me wrong: stickers, GIFs and other embeddable images do help fill gaps that the Unicode Standard is not equipped to handle. They are infinitely customizable, can be added any time, and cater to more groups than standard Unicode emojis could ever cater for. It's just that if the issue is equal representation alongside other flags - or other emojis in different contexts - using an image does not achieve this goal, even if it does go most of the way to communicating the concept. ↩︎