Regional indicator emoji are special letter emoji that combine to render a flag when placed next to each other in certain pairs. For instance, if you place ๐ณ and ๐ด together on a webpage, you get ๐ณ๐ด: The flag of Norway. Iโm doing that now in this HTML file - check the source! There are a large number of these letter pairs: 249 official two-letter country codes and 9 โexceptionalโ codes (UN or ๐บ๐ณ renders the flag of the United Nations, for example)1. Here are the 258 two-letter country codes that will render a flag:
listofCountryCodes
## [1] "AD" "AE" "AF" "AG" "AI" "AL" "AM" "AO" "AQ" "AR" "AS" "AT" "AU" "AW" "AX"
## [16] "AZ" "BA" "BB" "BD" "BE" "BF" "BG" "BH" "BI" "BJ" "BL" "BM" "BN" "BO" "BQ"
## [31] "BR" "BS" "BT" "BV" "BW" "BY" "BZ" "CA" "CC" "CD" "CF" "CG" "CH" "CI" "CK"
## [46] "CL" "CM" "CN" "CO" "CR" "CU" "CV" "CW" "CX" "CY" "CZ" "DE" "DJ" "DK" "DM"
## [61] "DO" "DZ" "EC" "EE" "EG" "EH" "ER" "ES" "ET" "FI" "FJ" "FK" "FM" "FO" "FR"
## [76] "GA" "GB" "GD" "GE" "GF" "GG" "GH" "GI" "GL" "GM" "GN" "GP" "GQ" "GR" "GS"
## [91] "GT" "GU" "GW" "GY" "HK" "HM" "HN" "HR" "HT" "HU" "ID" "IE" "IL" "IM" "IN"
## [106] "IO" "IQ" "IR" "IS" "IT" "JE" "JM" "JO" "JP" "KE" "KG" "KH" "KI" "KM" "KN"
## [121] "KP" "KR" "KW" "KY" "KZ" "LA" "LB" "LC" "LI" "LK" "LR" "LS" "LT" "LU" "LV"
## [136] "LY" "MA" "MC" "MD" "ME" "MF" "MG" "MH" "MK" "ML" "MM" "MN" "MO" "MP" "MQ"
## [151] "MR" "MS" "MT" "MU" "MV" "MW" "MX" "MY" "MZ" "NA" "NC" "NE" "NF" "NG" "NI"
## [166] "NL" "NO" "NP" "NR" "NU" "NZ" "OM" "PA" "PE" "PF" "PG" "PH" "PK" "PL" "PM"
## [181] "PN" "PR" "PS" "PT" "PW" "PY" "QA" "RE" "RO" "RS" "RU" "RW" "SA" "SB" "SC"
## [196] "SD" "SE" "SG" "SH" "SI" "SJ" "SK" "SL" "SM" "SN" "SO" "SR" "SS" "ST" "SV"
## [211] "SX" "SY" "SZ" "TC" "TD" "TF" "TG" "TH" "TJ" "TK" "TL" "TM" "TN" "TO" "TR"
## [226] "TT" "TV" "TW" "TZ" "UA" "UG" "UM" "US" "UY" "UZ" "VA" "VC" "VE" "VG" "VI"
## [241] "VN" "VU" "WF" "WS" "YE" "YT" "ZA" "ZM" "ZW" "AC" "CP" "DG" "TA" "EA" "IC"
## [256] "XK" "EU" "UN"
Since you can get individual regional indicator letters as separate emoji, the question is: What is the longest English word you can spell with them without having a pair of them turn into some sort of flag?
The best answer I could find is ๐ช๐ถ๐บ๐ฎ๐ต๐ด๐ฑ๐ฑ๐ช๐ณ๐น , at 11 letters. If you want a word thatโs in more common use, ๐น๐ช๐ฑ๐ช๐ต๐ด๐ท๐น๐ช๐ฉ and ๐ฐ๐ด๐ด๐ฐ๐ฆ๐ง๐บ๐ท๐ท๐ฆ are two excellent candidates at 10 letters.
There were two parts to reaching this answer.
First, I defined a function which checked every letter pair in a given input word and returned TRUE if none of the wordโs letter pairs were in the list of country codes.
checkInputWord = function(wordEnter){
truthCounter <- 0
word <- toupper(wordEnter)
for(i in (1:(nchar(word) - 1)))(
if(str_sub(word, i, i + 1) %in% listofCountryCodes) {
truthCounter <- truthCounter + 1
}
)
return(dplyr::if_else(truthCounter > 0, FALSE, TRUE, missing = FALSE))
}
checkInputWord("PUP") #Returns true
## [1] TRUE
checkInputWord("PUPPY") #Returns false for "PY" - Portugal
## [1] FALSE
Second, I got a list of about 370,000 โEnglishโ words2 and ran them all through this function. Many of the words are not English but are recognizable loanwords. Some are dubious, like the other 11-letter candidate GOSPODIPODA which does not seem to be a real word in use. But thereโs enough I recognize to satisfy me.
words_alpha <- readLines("words_alpha.txt") #lots of words! from https://github.com/dwyl/english-words?tab=readme-ov-file
wordVector <- c()
for(i in 1:length(words_alpha))(
if(checkInputWord(words_alpha[i]))(
wordVector <- c(wordVector, words_alpha[i])
)
)
#Once that's done - extract maximum word
wordVector[nchar(wordVector)==max(nchar(wordVector))]
## [1] "equipollent" "gospodipoda"
#And then here's the 10 letter candidates.
wordVector[nchar(wordVector)==max(nchar(wordVector)) - 1]
## [1] "anteflexed" "antelopian" "antifelony" "buddhahood" "equipotent"
## [6] "hemizygote" "hypopoddia" "kookaburra" "kotukutuku" "oxybutyria"
## [11] "rhizopodan" "rhizopogon" "spoondrift" "sulfhydryl" "sulfurized"
## [16] "teleported" "workfellow"
#Here's the 9 letter candidates for good measure.
wordVector[nchar(wordVector)==max(nchar(wordVector)) - 2]
## [1] "anhydrize" "antifelon" "antiworld" "buhlworks" "bullhorns" "bullpouts"
## [7] "cellepora" "dandriffy" "dandriffs" "diandrian" "dryopians" "eponymize"
## [13] "equivoque" "excelente" "excellent" "felonwood" "felonwort" "floodways"
## [19] "floodwood" "fullwords" "furfurans" "gonyocele" "gourdworm" "handholds"
## [25] "handiwork" "handworks" "hemipodan" "hemipodii" "hexahedra" "hexandria"
## [31] "hexapodan" "hypohemia" "hypopodia" "hypoxemia" "hypoxylon" "holohedry"
## [37] "hondurans" "hondurian" "hornworts" "hotelhood" "ivorywood" "kurmburra"
## [43] "loanwords" "oddfellow" "offendant" "okupukupu" "outpolled" "outpulled"
## [49] "outquoted" "polemized" "potentize" "potpourri" "purported" "purpurize"
## [55] "quixotize" "rantepole" "rantipole" "rhizopoda" "rhizopods" "spoolwood"
## [61] "spoonsful" "spoonways" "spoonwood" "spoonwort" "subpotent" "sudburian"
## [67] "sulfurize" "supported" "suppurant" "surquedry" "teleozoon" "teleports"
## [73] "turbulent" "wayfellow" "woodworks" "worrywort" "zelotypia" "zulhijjah"
[1] UTS #51: Unicode Emoji Annex B: Valid Emoji Flag Sequences. Unicode Consortium web. Retrieved August 9, 2025, from https://unicode.org/reports/tr51/#Flags
[2] This list can be found at https://github.com/dwyl/english-words?tab=readme-ov-file.