Create string with emoji unicode flag countries

unicode flags
emoji unicode table
python emoji unicode
convert unicode to emoji java
flag encoding
telegram emoji unicode
country code emoji
how to add emoji in string

i need to create a String with a country flag unicode emoji..I did this:

StringBuffer sb = new StringBuffer();

Expecting one country flag but i havent..How can i get a unicode country flag emoji in String with the unicodes characters?

You should be able to do that simply using toChars from java.lang.Character.

This works for me:

    StringBuffer sb = new StringBuffer();

prints 🇫🇷, which the client can chose to display like a french flag, or in other ways.

matiassingers/emoji-flags: return emoji flag symbol for , return emoji flag symbol for country code . Contribute to matiassingers/emoji-​flags development by creating an account on GitHub. Type: String Default:  🇻 Regional Indicator Symbol Letter V. The letter V, which can be used as part of a regional indicator pair to create emoji flags for various countries. Incorrectly displays as the letter U when displayed in isolation on Samsung devices. Regional Indicator Symbol Letter V was approved as part of Unicode 6.0 in 2010 and added to Emoji 2.0 in 2015.

The problem is, that the "\uXXXX" notation is for 4 hexadecimal digits, forming a 16 bit char.

You have Unicode code points above the 16 bit range, both U+F1EB and U+1F1F7. This will be represented with two chars, a so called surrogate pair. You can either use the codepoints to create a string:

int[] codepoints = {0x1F1EB, 0x1F1F7};
String s = new String(codepoints, 0, codepoints.length);

Or use the surrogate pairs, derivable like this:

for (char ch : s.toCharArray()) {
    System.out.printf("\\u%04X", (int)ch);



Response to the comment: How to Decode

"\uD83C\uDDEB" are two surrogate 16 bit chars representing U+1F1EB and "\uD83C\uDDF7" is the surrogate pair for U+1F1F7.

private static final int CP_REGIONAL_INDICATOR = 0x1F1E7; // A-Z flag codes.

 * Get the flag codes of two (or one) regional indicator symbols.
 * @param s string starting with 1 or 2 regional indicator symbols.
 * @return one or two ASCII letters for the flag, or null.
public static String regionalIndicator(String s) {
    int cp0 = regionalIndicatorCodePoint(s);
    if (cp0 == -1) {
        return null;
    StringBuilder sb = new StringBuilder();
    sb.append((char)(cp0 - CP_REGIONAL_INDICATOR + 'A'));
    int n0 = Character.charCount(cp0);
    int cp1 = regionalIndicatorCodePoint(s.substring(n0));
    if (cp1 != -1) {
        sb.append((char)(cp1 - CP_REGIONAL_INDICATOR + 'A'));
    return sb.toString();

private static int regionalIndicatorCodePoint(String s) {
    if (s.isEmpty()) {
        return -1;
    int cp0 = s.codePointAt(0);
    return CP_REGIONAL_INDICATOR > cp0 || cp0 >= CP_REGIONAL_INDICATOR + 26 ? -1 : cp0;

System.out.println("Flag: " + regionalIndicator("\uD83C\uDDEB\uD83C\uDDF7"));
Flag: EQ

How to convert country code to emoji flag in Java (Example), How to convert country code to emoji flag in Java (ISO 3166-1 alpha-2) to corresponding emoji flags (Unicode regional indicator symbols) in Java: public String countryCodeToEmoji(String code) { // offset between If you enjoy reading my articles and want to support me to continue creating free tutorials,  Emoji is a Unicode symbols. Based on the Unicode character table Emoji flags consist of 26 alphabetic Unicode characters (A-Z) intended to be used to encode ISO 3166-1 alpha-2 two-letter country codes . That means it is possible to split two-letter country code and convert each A-Z letter to regional indicator symbol letter:

If you want to use emojis often, it could be good to use a library that would handle that unicode stuff for you: emoji-java

You would just add the maven dependency:


And call the EmojiManager:

Emoji emoji = EmojiManager.getForAlias("fr");
System.out.println("HEY: " + emoji.getUnicode());

The entire list of supported emojis is here.

Let's turn an ISO country code into a Unicode emoji, shall we?, Ever since the first introduction of emojis in Unicode 6.0 the number of regular ISO 3166-1 alpha-2 country code to its respective Unicode emoji flag? g, char => String. Create a Blog App With Next.js and Contentful API. Stack Overflow Public questions and answers; Browse other questions tagged java string emoji or ask your own Create string with emoji unicode flag countries

I suppose you want to achieve something like this

Let me give you 2 example of unicodes for country flags:

for ROMANIA ---> \uD83C\uDDF7\uD83C\uDDF4

for AMERICA ---> \uD83C\uDDFA\uD83C\uDDF8

You can get this and other country flags unicodes from this site Emoji Unicodes

Once you enter the site, you will see a table with a lot of emoji. Select the tab with FLAGS from that table (is easy to find it) then will appear all the country flags. You need to select one flag from the list, any flag you want... but only ONE. After that will appear a text code in the message box...that is not important. Important is that you have to look in the right of the site where will appear flag and country name of your selected flag. CLICK on that, and on the page that will open you need to find the TABLE named Emoji Character Encoding Data. Scroll until the last part of table where sais: C/C++/Java Src .. there you will find the correct unicode flag. Attention, always select the unicode that is long like that, some times if you are not carefull you can select a simple unicode, not long like that. So, keep that in mind.

Indications image 1

Indication image 2

In the end i will post a sample code from an Android app of mine that will work on java the same way.

ArrayList<String> listLanguages = new ArrayList<>();
    listLanguages.add("\uD83C\uDDFA\uD83C\uDDF8  " + getString(R.string.English));
    listLanguages.add("\uD83C\uDDF7\uD83C\uDDF4  " + getString(R.string.Romanian));

Another simple custom example:

String flagCountryName = "\uD83C\uDDEF\uD83C\uDDF2 Jamaica";

You can use this variable where you need it. This will show you the flag of Jamaica in front of the text.

This is all, if you did not understand something just ask.

Fun with Flags - Barry Irvine, Initially the Unicode standard launched with just 10 flags but the way With some very simple logic it's easy to convert an ISO country name to produce its flag emoji string. Therefore we can create an ASCII offset constant that is equivalent to And now we have the emoji flag for every country in our list. 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.

Look at Creating Unicode character from its number

Could not get my machine to print the Unicode you have there, but for other values it works.

emoji-country-flag · PyPI, En/Decode unicode country flags emoji. pip install emoji-country-flag flag. foodemoji on PyPI Python Versions Coverage Status Build Status Codacy Badge​  🇪🇺 Flag: European Union. The flag for European Union, which may show as the letters EU on some platforms. The Flag: European Union emoji is a flag sequence combining 🇪 Regional Indicator Symbol Letter E and 🇺 Regional Indicator Symbol Letter U. These display as a single emoji on supported platforms.

IOS 11 Programming Fundamentals with Swift: Swift, Xcode, and , You can make any object coercible to String, by making it conform to any of three protocols: The String is stored as a sequence of Unicode codepoints, but multiple country abbreviation into an emoji representation of its flag: return String(s)  All emojis on this page are RGI (Recommended for General Interchange by Unicode) except Flag for Texas and Transgender Pride Flag which are supported by WhatsApp only. Emoji country flags are based on ISO 3166-1: a list of internationally recognized two-letter country codes. As of 2019 England, Scotland and Wales are the only RGI subdivision

Regional Indicator Symbol, These were defined in October 2010 as part of the Unicode 6.0 support for emoji, as an alternative to encoding separate characters for each country flag. Emojis of all country flags in the world. This list includes all country flags except the flag of Northern Ireland for which emoji does not yet exist.

Unicode, Unicode is an information technology (IT) standard for the consistent encoding, representation, Flag emojis are also grapheme clusters and composed of two code point started investigating the practicalities of creating a universal character set. Over the years several countries or government agencies have been  🇫 Emoji Flag Sequence An Emoji Flag Sequence is a mechanism in which an emoji is created using a combination of two Regional Indicator characters. Unlike Emoji ZWJ Sequences, Flag Sequences do not use a Zero Width Joiner character. When two Regional Indicator characters are inserted in sequence, certain pairs automatically create a grapheme

  • What did you get, if not 🇫🇷?
  • What do you do with the string after? And what's the idea behind the StringEscapeUtils.unescapeJava calls?
  • @weston I think i must use StringEscapeUtils.unescapeJava with a unicode to convert it to real unicode..
  • When you say you're getting x out, what are you using to display this string?
  • sb.toString and copy value in Intelli Idea
  • Hey @Joop Please tell me how to decode this "\uD83C\uDDEB\uD83C\uDDF7".Thank you for this code.
  • @RobinRoyal extended answer with how to get "EQ" from the string.
  • Thank you @Vincent for this library!
  • This works for me when i used in simple unicode character, but flags unicodes are compused by two unicodes..
  • Everything mentioned in the 2 upvoted answers, was already in the link I provided. Don't understand why I get downvoted then.