├── .eslintignore ├── .browserslistrc ├── .gitignore ├── .eslintrc.js ├── jest.config.js ├── .npmignore ├── .travis.yml ├── .babelrc ├── src ├── index.js └── data.js ├── LICENSE ├── rollup.config.js ├── __tests__ └── index.js ├── package.json └── README.md /.eslintignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | -------------------------------------------------------------------------------- /.browserslistrc: -------------------------------------------------------------------------------- 1 | last 1 version 2 | > 5% 3 | not dead 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | coverage 2 | dist 3 | node_modules 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | "airbnb-base", 4 | "plugin:prettier/recommended" 5 | ] 6 | }; 7 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: "node", 3 | verbose: true, 4 | resetMocks: true, 5 | collectCoverage: true, 6 | collectCoverageFrom: ["src/**/*.js"] 7 | }; 8 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | __tests__ 2 | coverage 3 | src 4 | .babelrc 5 | .browserslistrc 6 | .eslintignore 7 | .eslintrc.js 8 | .travis.yml 9 | jest.config.js 10 | rollup.config.js 11 | yarn.lock 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | dist: xenial 2 | language: node_js 3 | matrix: 4 | include: 5 | - node_js: 10 6 | - node_js: 12 7 | env: UPLOAD_COVERAGE=true 8 | after_success: 9 | - if [[ "$UPLOAD_COVERAGE" = "true" ]]; then bash <(curl -s https://codecov.io/bash); fi 10 | cache: npm 11 | notifications: 12 | email: 13 | on_success: never 14 | on_failure: always 15 | -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "build": { 4 | "presets": [ 5 | ["@babel/preset-env", { 6 | "modules": false, 7 | "useBuiltIns": "usage" 8 | }] 9 | ] 10 | }, 11 | "test": { 12 | "presets": [ 13 | ["@babel/preset-env", { 14 | "useBuiltIns": "usage", 15 | "targets": "node 8" 16 | }] 17 | ] 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import data from "./data"; 2 | 3 | const countryCodes = Object.keys(data); 4 | 5 | const list = Object.values(data); 6 | 7 | /** 8 | * Get country flag emoji. 9 | * 10 | * @param {String} countryCode 11 | * @return {Object|Undefined} 12 | */ 13 | const get = countryCode => { 14 | if (countryCode === undefined) { 15 | return list; 16 | } 17 | 18 | if (typeof countryCode !== "string") { 19 | return undefined; 20 | } 21 | 22 | const code = countryCode.toUpperCase(); 23 | 24 | return Object.prototype.hasOwnProperty.call(data, code) 25 | ? data[code] 26 | : undefined; 27 | }; 28 | 29 | export default { 30 | data, 31 | countryCodes, 32 | list, 33 | get 34 | }; 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Risan Bagja Pradana 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import babel from "rollup-plugin-babel"; 2 | import commonjs from "rollup-plugin-commonjs"; 3 | import resolve from "rollup-plugin-node-resolve"; 4 | import { terser } from "rollup-plugin-terser"; 5 | import pkg from "./package.json"; 6 | 7 | export default [ 8 | { 9 | input: "src/index.js", 10 | output: { 11 | file: pkg.main, 12 | format: "cjs" 13 | }, 14 | plugins: [ 15 | resolve(), 16 | commonjs(), 17 | babel({ 18 | exclude: "node_modules/**", 19 | babelrc: false, 20 | presets: [ 21 | [ 22 | "@babel/env", 23 | { 24 | modules: false, 25 | useBuiltIns: "usage", 26 | targets: "node 8" 27 | } 28 | ] 29 | ] 30 | }) 31 | ] 32 | }, 33 | { 34 | input: "src/index.js", 35 | output: { 36 | name: "countryFlagEmoji", 37 | file: pkg.browser, 38 | format: "umd" 39 | }, 40 | plugins: [ 41 | resolve(), 42 | commonjs(), 43 | babel({ 44 | exclude: "node_modules/**" 45 | }) 46 | ] 47 | }, 48 | { 49 | input: "src/index.js", 50 | output: { 51 | name: "countryFlagEmoji", 52 | file: pkg.browser.replace(/\.js$/i, ".min.js"), 53 | format: "umd" 54 | }, 55 | plugins: [ 56 | resolve(), 57 | commonjs(), 58 | babel({ 59 | exclude: "node_modules/**" 60 | }), 61 | terser() 62 | ] 63 | } 64 | ]; 65 | -------------------------------------------------------------------------------- /__tests__/index.js: -------------------------------------------------------------------------------- 1 | /* global expect:false, test:false */ 2 | import countryFlagEmoji from "../src"; 3 | 4 | const TOTAL_COUNTRIES = 258; 5 | 6 | test("it can access all emoji data", () => { 7 | expect(countryFlagEmoji).toHaveProperty("data.ID"); 8 | expect(countryFlagEmoji).toHaveProperty("data.SE"); 9 | expect(countryFlagEmoji).toHaveProperty("data.US"); 10 | 11 | const codes = Object.keys(countryFlagEmoji.data); 12 | expect(codes).toHaveLength(TOTAL_COUNTRIES); 13 | 14 | const props = Object.keys(countryFlagEmoji.data.ID); 15 | expect(props).toEqual(["code", "unicode", "name", "emoji"]); 16 | }); 17 | 18 | test("it can access country codes", () => { 19 | expect(countryFlagEmoji).toHaveProperty("countryCodes"); 20 | 21 | expect(countryFlagEmoji.countryCodes).toHaveLength(TOTAL_COUNTRIES); 22 | 23 | expect(countryFlagEmoji.countryCodes).toContain("ID"); 24 | expect(countryFlagEmoji.countryCodes).toContain("SE"); 25 | expect(countryFlagEmoji.countryCodes).toContain("US"); 26 | }); 27 | 28 | test("it can access list of country flag emojis", () => { 29 | expect(countryFlagEmoji).toHaveProperty("list"); 30 | 31 | expect(countryFlagEmoji.list).toHaveLength(TOTAL_COUNTRIES); 32 | 33 | const props = Object.keys(countryFlagEmoji.list[0]); 34 | expect(props).toEqual(["code", "unicode", "name", "emoji"]); 35 | }); 36 | 37 | test("it can get country flag emoji using the country code", () => { 38 | expect(countryFlagEmoji.get("ID")).toEqual({ 39 | code: "ID", 40 | unicode: "U+1F1EE U+1F1E9", 41 | name: "Indonesia", 42 | emoji: "🇮🇩" 43 | }); 44 | 45 | expect(countryFlagEmoji.get()).toHaveLength(TOTAL_COUNTRIES); 46 | 47 | expect(countryFlagEmoji.get("foo")).toBeUndefined(); 48 | expect(countryFlagEmoji.get(123)).toBeUndefined(); 49 | }); 50 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "country-flag-emoji", 3 | "version": "1.0.3", 4 | "description": "List of country codes and its flag emojis", 5 | "keywords": [ 6 | "country", 7 | "country-code", 8 | "emoji", 9 | "flag", 10 | "iso-3166" 11 | ], 12 | "homepage": "https://github.com/risan/country-flag-emoji#readme", 13 | "bugs": { 14 | "url": "https://github.com/risan/country-flag-emoji/issues" 15 | }, 16 | "license": "MIT", 17 | "author": { 18 | "name": "Risan Bagja Pradana", 19 | "email": "risanbagja@gmail.com", 20 | "url": "https://bagja.net" 21 | }, 22 | "main": "dist/country-flag-emoji.cjs.js", 23 | "browser": "dist/country-flag-emoji.umd.js", 24 | "repository": { 25 | "type": "git", 26 | "url": "https://github.com/risan/country-flag-emoji.git" 27 | }, 28 | "scripts": { 29 | "build": "NODE_ENV=build rollup -c", 30 | "lint": "eslint ./", 31 | "lint-fix": "eslint ./ --fix", 32 | "prepublishOnly": "npm run lint && npm run test && npm run build", 33 | "test": "NODE_ENV=test jest" 34 | }, 35 | "devDependencies": { 36 | "@babel/core": "^7.1.6", 37 | "@babel/preset-env": "^7.1.6", 38 | "babel-core": "^7.0.0-bridge.0", 39 | "babel-jest": "^23.6.0", 40 | "eslint": "^6.0.0", 41 | "eslint-config-airbnb-base": "^14.0.0", 42 | "eslint-config-prettier": "^5.0.0", 43 | "eslint-plugin-import": "^2.14.0", 44 | "eslint-plugin-prettier": "^3.0.0", 45 | "jest": "^23.6.0", 46 | "prettier": "^1.15.2", 47 | "rollup": "^1.0.0", 48 | "rollup-plugin-babel": "^4.0.3", 49 | "rollup-plugin-commonjs": "^10.0.0", 50 | "rollup-plugin-node-resolve": "^5.0.0", 51 | "rollup-plugin-terser": "^5.0.0" 52 | }, 53 | "engines": { 54 | "node": ">=10.0.0" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Country Flag Emoji 2 | 3 | [![Build Status](https://badgen.net/travis/risan/country-flag-emoji)](https://travis-ci.org/risan/country-flag-emoji) 4 | [![Test Covarage](https://badgen.net/codecov/c/github/risan/country-flag-emoji)](https://codecov.io/gh/risan/country-flag-emoji) 5 | [![Latest Version](https://badgen.net/npm/v/country-flag-emoji)](https://www.npmjs.com/package/country-flag-emoji) 6 | 7 | List of country codes and its flag emojis. 8 | 9 | ## Installation 10 | 11 | ```bash 12 | $ npm install country-flag-emoji 13 | ``` 14 | 15 | ### CDN 16 | 17 | The library is available over a CDN: 18 | 19 | ```html 20 | 21 | 22 | 23 | 24 | ``` 25 | 26 | ## Usage 27 | 28 | ```js 29 | import countryFlagEmoji from "country-flag-emoji"; 30 | 31 | // All country flag emojis keyed by country code 32 | console.log(countryFlagEmoji.data); 33 | 34 | // Array of all country flag emojis 35 | console.log(countryFlagEmoji.list); 36 | 37 | // Array of country codes 38 | console.log(countryFlagEmoji.countryCodes); 39 | 40 | // Get country flag emoji for the given country code 41 | console.log(countryFlagEmoji.get("US")); 42 | // US: { 43 | // code: "US", 44 | // unicode: "U+1F1FA U+1F1F8", 45 | // name: "United States", 46 | // emoji: "🇺🇸" 47 | // } 48 | ``` 49 | 50 | ## API 51 | 52 | ### `data` Property 53 | 54 | Get all country flag emojis keyed by country code. 55 | 56 | ```js 57 | countryFlagEmoji.data 58 | ``` 59 | 60 | Data format: 61 | 62 | ```js 63 | { 64 | //... 65 | ID: { 66 | code: "ID", 67 | unicode: "U+1F1EE U+1F1E9", 68 | name: "Indonesia", 69 | emoji: "🇮🇩" 70 | }, 71 | IE: { 72 | code: "IE", 73 | unicode: "U+1F1EE U+1F1EA", 74 | name: "Ireland", 75 | emoji: "🇮🇪" 76 | }, 77 | //... 78 | } 79 | ``` 80 | 81 | ### `list` Property 82 | 83 | Get all country flag emojis. 84 | 85 | ```js 86 | countryFlagEmoji.list 87 | ``` 88 | 89 | Data format: 90 | 91 | ```js 92 | [ 93 | //... 94 | { 95 | code: "ID", 96 | unicode: "U+1F1EE U+1F1E9", 97 | name: "Indonesia", 98 | emoji: "🇮🇩" 99 | }, 100 | { 101 | code: "IE", 102 | unicode: "U+1F1EE U+1F1EA", 103 | name: "Ireland", 104 | emoji: "🇮🇪" 105 | }, 106 | //... 107 | ] 108 | ``` 109 | 110 | ### `countryCodes` Property 111 | 112 | Get all country codes. 113 | 114 | ```js 115 | countryFlagEmoji.countryCodes 116 | ``` 117 | 118 | Data format: 119 | 120 | ```js 121 | [..., "IC", "ID", "IE", ...] 122 | ``` 123 | 124 | ### `get()` Method 125 | 126 | ```js 127 | countryFlagEmoji.get([countryCode]) 128 | ``` 129 | 130 | ### Parameters 131 | 132 | * `countryCode` (optional `String`): Two-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. 133 | 134 | ### Returns 135 | 136 | There are three possible return types: 137 | 138 | * `Array`: If no `countryCode` being passed, it returns array of all country flag emojis. 139 | * `undefined`: If the given country code is not found. 140 | * `Object`: If the emoji is found for the given country code. The returned object has 4 properties: 141 | * `code`: The two-letter country code in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format. 142 | * `unicode`: Flag emoji Unicode character sequence, e.g. `U+1F1EE U+1F1E9`. Read more about [Regional Indicator Symbol](https://en.wikipedia.org/wiki/Regional_Indicator_Symbol). 143 | * `name`: The country name. 144 | * `emoji`: The country flag emoji. 145 | 146 | ## Related 147 | 148 | * [country-flag-emoji-json](https://github.com/risan/country-flag-emoji-json): Country flag emojis in JSON format. 149 | 150 | ## License 151 | 152 | [MIT](https://github.com/risan/country-flag-emoji/blob/master/LICENSE) © [Risan Bagja Pradana](https://risanb.com) 153 | -------------------------------------------------------------------------------- /src/data.js: -------------------------------------------------------------------------------- 1 | export default { 2 | AC: { 3 | code: "AC", 4 | unicode: "U+1F1E6 U+1F1E8", 5 | name: "Ascension Island", 6 | emoji: "🇦🇨" 7 | }, 8 | AD: { 9 | code: "AD", 10 | unicode: "U+1F1E6 U+1F1E9", 11 | name: "Andorra", 12 | emoji: "🇦🇩" 13 | }, 14 | AE: { 15 | code: "AE", 16 | unicode: "U+1F1E6 U+1F1EA", 17 | name: "United Arab Emirates", 18 | emoji: "🇦🇪" 19 | }, 20 | AF: { 21 | code: "AF", 22 | unicode: "U+1F1E6 U+1F1EB", 23 | name: "Afghanistan", 24 | emoji: "🇦🇫" 25 | }, 26 | AG: { 27 | code: "AG", 28 | unicode: "U+1F1E6 U+1F1EC", 29 | name: "Antigua & Barbuda", 30 | emoji: "🇦🇬" 31 | }, 32 | AI: { 33 | code: "AI", 34 | unicode: "U+1F1E6 U+1F1EE", 35 | name: "Anguilla", 36 | emoji: "🇦🇮" 37 | }, 38 | AL: { 39 | code: "AL", 40 | unicode: "U+1F1E6 U+1F1F1", 41 | name: "Albania", 42 | emoji: "🇦🇱" 43 | }, 44 | AM: { 45 | code: "AM", 46 | unicode: "U+1F1E6 U+1F1F2", 47 | name: "Armenia", 48 | emoji: "🇦🇲" 49 | }, 50 | AO: { 51 | code: "AO", 52 | unicode: "U+1F1E6 U+1F1F4", 53 | name: "Angola", 54 | emoji: "🇦🇴" 55 | }, 56 | AQ: { 57 | code: "AQ", 58 | unicode: "U+1F1E6 U+1F1F6", 59 | name: "Antarctica", 60 | emoji: "🇦🇶" 61 | }, 62 | AR: { 63 | code: "AR", 64 | unicode: "U+1F1E6 U+1F1F7", 65 | name: "Argentina", 66 | emoji: "🇦🇷" 67 | }, 68 | AS: { 69 | code: "AS", 70 | unicode: "U+1F1E6 U+1F1F8", 71 | name: "American Samoa", 72 | emoji: "🇦🇸" 73 | }, 74 | AT: { 75 | code: "AT", 76 | unicode: "U+1F1E6 U+1F1F9", 77 | name: "Austria", 78 | emoji: "🇦🇹" 79 | }, 80 | AU: { 81 | code: "AU", 82 | unicode: "U+1F1E6 U+1F1FA", 83 | name: "Australia", 84 | emoji: "🇦🇺" 85 | }, 86 | AW: { 87 | code: "AW", 88 | unicode: "U+1F1E6 U+1F1FC", 89 | name: "Aruba", 90 | emoji: "🇦🇼" 91 | }, 92 | AX: { 93 | code: "AX", 94 | unicode: "U+1F1E6 U+1F1FD", 95 | name: "Åland Islands", 96 | emoji: "🇦🇽" 97 | }, 98 | AZ: { 99 | code: "AZ", 100 | unicode: "U+1F1E6 U+1F1FF", 101 | name: "Azerbaijan", 102 | emoji: "🇦🇿" 103 | }, 104 | BA: { 105 | code: "BA", 106 | unicode: "U+1F1E7 U+1F1E6", 107 | name: "Bosnia & Herzegovina", 108 | emoji: "🇧🇦" 109 | }, 110 | BB: { 111 | code: "BB", 112 | unicode: "U+1F1E7 U+1F1E7", 113 | name: "Barbados", 114 | emoji: "🇧🇧" 115 | }, 116 | BD: { 117 | code: "BD", 118 | unicode: "U+1F1E7 U+1F1E9", 119 | name: "Bangladesh", 120 | emoji: "🇧🇩" 121 | }, 122 | BE: { 123 | code: "BE", 124 | unicode: "U+1F1E7 U+1F1EA", 125 | name: "Belgium", 126 | emoji: "🇧🇪" 127 | }, 128 | BF: { 129 | code: "BF", 130 | unicode: "U+1F1E7 U+1F1EB", 131 | name: "Burkina Faso", 132 | emoji: "🇧🇫" 133 | }, 134 | BG: { 135 | code: "BG", 136 | unicode: "U+1F1E7 U+1F1EC", 137 | name: "Bulgaria", 138 | emoji: "🇧🇬" 139 | }, 140 | BH: { 141 | code: "BH", 142 | unicode: "U+1F1E7 U+1F1ED", 143 | name: "Bahrain", 144 | emoji: "🇧🇭" 145 | }, 146 | BI: { 147 | code: "BI", 148 | unicode: "U+1F1E7 U+1F1EE", 149 | name: "Burundi", 150 | emoji: "🇧🇮" 151 | }, 152 | BJ: { 153 | code: "BJ", 154 | unicode: "U+1F1E7 U+1F1EF", 155 | name: "Benin", 156 | emoji: "🇧🇯" 157 | }, 158 | BL: { 159 | code: "BL", 160 | unicode: "U+1F1E7 U+1F1F1", 161 | name: "St. Barthélemy", 162 | emoji: "🇧🇱" 163 | }, 164 | BM: { 165 | code: "BM", 166 | unicode: "U+1F1E7 U+1F1F2", 167 | name: "Bermuda", 168 | emoji: "🇧🇲" 169 | }, 170 | BN: { 171 | code: "BN", 172 | unicode: "U+1F1E7 U+1F1F3", 173 | name: "Brunei", 174 | emoji: "🇧🇳" 175 | }, 176 | BO: { 177 | code: "BO", 178 | unicode: "U+1F1E7 U+1F1F4", 179 | name: "Bolivia", 180 | emoji: "🇧🇴" 181 | }, 182 | BQ: { 183 | code: "BQ", 184 | unicode: "U+1F1E7 U+1F1F6", 185 | name: "Caribbean Netherlands", 186 | emoji: "🇧🇶" 187 | }, 188 | BR: { 189 | code: "BR", 190 | unicode: "U+1F1E7 U+1F1F7", 191 | name: "Brazil", 192 | emoji: "🇧🇷" 193 | }, 194 | BS: { 195 | code: "BS", 196 | unicode: "U+1F1E7 U+1F1F8", 197 | name: "Bahamas", 198 | emoji: "🇧🇸" 199 | }, 200 | BT: { 201 | code: "BT", 202 | unicode: "U+1F1E7 U+1F1F9", 203 | name: "Bhutan", 204 | emoji: "🇧🇹" 205 | }, 206 | BV: { 207 | code: "BV", 208 | unicode: "U+1F1E7 U+1F1FB", 209 | name: "Bouvet Island", 210 | emoji: "🇧🇻" 211 | }, 212 | BW: { 213 | code: "BW", 214 | unicode: "U+1F1E7 U+1F1FC", 215 | name: "Botswana", 216 | emoji: "🇧🇼" 217 | }, 218 | BY: { 219 | code: "BY", 220 | unicode: "U+1F1E7 U+1F1FE", 221 | name: "Belarus", 222 | emoji: "🇧🇾" 223 | }, 224 | BZ: { 225 | code: "BZ", 226 | unicode: "U+1F1E7 U+1F1FF", 227 | name: "Belize", 228 | emoji: "🇧🇿" 229 | }, 230 | CA: { 231 | code: "CA", 232 | unicode: "U+1F1E8 U+1F1E6", 233 | name: "Canada", 234 | emoji: "🇨🇦" 235 | }, 236 | CC: { 237 | code: "CC", 238 | unicode: "U+1F1E8 U+1F1E8", 239 | name: "Cocos (Keeling) Islands", 240 | emoji: "🇨🇨" 241 | }, 242 | CD: { 243 | code: "CD", 244 | unicode: "U+1F1E8 U+1F1E9", 245 | name: "Congo - Kinshasa", 246 | emoji: "🇨🇩" 247 | }, 248 | CF: { 249 | code: "CF", 250 | unicode: "U+1F1E8 U+1F1EB", 251 | name: "Central African Republic", 252 | emoji: "🇨🇫" 253 | }, 254 | CG: { 255 | code: "CG", 256 | unicode: "U+1F1E8 U+1F1EC", 257 | name: "Congo - Brazzaville", 258 | emoji: "🇨🇬" 259 | }, 260 | CH: { 261 | code: "CH", 262 | unicode: "U+1F1E8 U+1F1ED", 263 | name: "Switzerland", 264 | emoji: "🇨🇭" 265 | }, 266 | CI: { 267 | code: "CI", 268 | unicode: "U+1F1E8 U+1F1EE", 269 | name: "Côte d’Ivoire", 270 | emoji: "🇨🇮" 271 | }, 272 | CK: { 273 | code: "CK", 274 | unicode: "U+1F1E8 U+1F1F0", 275 | name: "Cook Islands", 276 | emoji: "🇨🇰" 277 | }, 278 | CL: { 279 | code: "CL", 280 | unicode: "U+1F1E8 U+1F1F1", 281 | name: "Chile", 282 | emoji: "🇨🇱" 283 | }, 284 | CM: { 285 | code: "CM", 286 | unicode: "U+1F1E8 U+1F1F2", 287 | name: "Cameroon", 288 | emoji: "🇨🇲" 289 | }, 290 | CN: { 291 | code: "CN", 292 | unicode: "U+1F1E8 U+1F1F3", 293 | name: "China", 294 | emoji: "🇨🇳" 295 | }, 296 | CO: { 297 | code: "CO", 298 | unicode: "U+1F1E8 U+1F1F4", 299 | name: "Colombia", 300 | emoji: "🇨🇴" 301 | }, 302 | CP: { 303 | code: "CP", 304 | unicode: "U+1F1E8 U+1F1F5", 305 | name: "Clipperton Island", 306 | emoji: "🇨🇵" 307 | }, 308 | CR: { 309 | code: "CR", 310 | unicode: "U+1F1E8 U+1F1F7", 311 | name: "Costa Rica", 312 | emoji: "🇨🇷" 313 | }, 314 | CU: { 315 | code: "CU", 316 | unicode: "U+1F1E8 U+1F1FA", 317 | name: "Cuba", 318 | emoji: "🇨🇺" 319 | }, 320 | CV: { 321 | code: "CV", 322 | unicode: "U+1F1E8 U+1F1FB", 323 | name: "Cape Verde", 324 | emoji: "🇨🇻" 325 | }, 326 | CW: { 327 | code: "CW", 328 | unicode: "U+1F1E8 U+1F1FC", 329 | name: "Curaçao", 330 | emoji: "🇨🇼" 331 | }, 332 | CX: { 333 | code: "CX", 334 | unicode: "U+1F1E8 U+1F1FD", 335 | name: "Christmas Island", 336 | emoji: "🇨🇽" 337 | }, 338 | CY: { 339 | code: "CY", 340 | unicode: "U+1F1E8 U+1F1FE", 341 | name: "Cyprus", 342 | emoji: "🇨🇾" 343 | }, 344 | CZ: { 345 | code: "CZ", 346 | unicode: "U+1F1E8 U+1F1FF", 347 | name: "Czechia", 348 | emoji: "🇨🇿" 349 | }, 350 | DE: { 351 | code: "DE", 352 | unicode: "U+1F1E9 U+1F1EA", 353 | name: "Germany", 354 | emoji: "🇩🇪" 355 | }, 356 | DG: { 357 | code: "DG", 358 | unicode: "U+1F1E9 U+1F1EC", 359 | name: "Diego Garcia", 360 | emoji: "🇩🇬" 361 | }, 362 | DJ: { 363 | code: "DJ", 364 | unicode: "U+1F1E9 U+1F1EF", 365 | name: "Djibouti", 366 | emoji: "🇩🇯" 367 | }, 368 | DK: { 369 | code: "DK", 370 | unicode: "U+1F1E9 U+1F1F0", 371 | name: "Denmark", 372 | emoji: "🇩🇰" 373 | }, 374 | DM: { 375 | code: "DM", 376 | unicode: "U+1F1E9 U+1F1F2", 377 | name: "Dominica", 378 | emoji: "🇩🇲" 379 | }, 380 | DO: { 381 | code: "DO", 382 | unicode: "U+1F1E9 U+1F1F4", 383 | name: "Dominican Republic", 384 | emoji: "🇩🇴" 385 | }, 386 | DZ: { 387 | code: "DZ", 388 | unicode: "U+1F1E9 U+1F1FF", 389 | name: "Algeria", 390 | emoji: "🇩🇿" 391 | }, 392 | EA: { 393 | code: "EA", 394 | unicode: "U+1F1EA U+1F1E6", 395 | name: "Ceuta & Melilla", 396 | emoji: "🇪🇦" 397 | }, 398 | EC: { 399 | code: "EC", 400 | unicode: "U+1F1EA U+1F1E8", 401 | name: "Ecuador", 402 | emoji: "🇪🇨" 403 | }, 404 | EE: { 405 | code: "EE", 406 | unicode: "U+1F1EA U+1F1EA", 407 | name: "Estonia", 408 | emoji: "🇪🇪" 409 | }, 410 | EG: { 411 | code: "EG", 412 | unicode: "U+1F1EA U+1F1EC", 413 | name: "Egypt", 414 | emoji: "🇪🇬" 415 | }, 416 | EH: { 417 | code: "EH", 418 | unicode: "U+1F1EA U+1F1ED", 419 | name: "Western Sahara", 420 | emoji: "🇪🇭" 421 | }, 422 | ER: { 423 | code: "ER", 424 | unicode: "U+1F1EA U+1F1F7", 425 | name: "Eritrea", 426 | emoji: "🇪🇷" 427 | }, 428 | ES: { 429 | code: "ES", 430 | unicode: "U+1F1EA U+1F1F8", 431 | name: "Spain", 432 | emoji: "🇪🇸" 433 | }, 434 | ET: { 435 | code: "ET", 436 | unicode: "U+1F1EA U+1F1F9", 437 | name: "Ethiopia", 438 | emoji: "🇪🇹" 439 | }, 440 | EU: { 441 | code: "EU", 442 | unicode: "U+1F1EA U+1F1FA", 443 | name: "European Union", 444 | emoji: "🇪🇺" 445 | }, 446 | FI: { 447 | code: "FI", 448 | unicode: "U+1F1EB U+1F1EE", 449 | name: "Finland", 450 | emoji: "🇫🇮" 451 | }, 452 | FJ: { 453 | code: "FJ", 454 | unicode: "U+1F1EB U+1F1EF", 455 | name: "Fiji", 456 | emoji: "🇫🇯" 457 | }, 458 | FK: { 459 | code: "FK", 460 | unicode: "U+1F1EB U+1F1F0", 461 | name: "Falkland Islands", 462 | emoji: "🇫🇰" 463 | }, 464 | FM: { 465 | code: "FM", 466 | unicode: "U+1F1EB U+1F1F2", 467 | name: "Micronesia", 468 | emoji: "🇫🇲" 469 | }, 470 | FO: { 471 | code: "FO", 472 | unicode: "U+1F1EB U+1F1F4", 473 | name: "Faroe Islands", 474 | emoji: "🇫🇴" 475 | }, 476 | FR: { 477 | code: "FR", 478 | unicode: "U+1F1EB U+1F1F7", 479 | name: "France", 480 | emoji: "🇫🇷" 481 | }, 482 | GA: { 483 | code: "GA", 484 | unicode: "U+1F1EC U+1F1E6", 485 | name: "Gabon", 486 | emoji: "🇬🇦" 487 | }, 488 | GB: { 489 | code: "GB", 490 | unicode: "U+1F1EC U+1F1E7", 491 | name: "United Kingdom", 492 | emoji: "🇬🇧" 493 | }, 494 | GD: { 495 | code: "GD", 496 | unicode: "U+1F1EC U+1F1E9", 497 | name: "Grenada", 498 | emoji: "🇬🇩" 499 | }, 500 | GE: { 501 | code: "GE", 502 | unicode: "U+1F1EC U+1F1EA", 503 | name: "Georgia", 504 | emoji: "🇬🇪" 505 | }, 506 | GF: { 507 | code: "GF", 508 | unicode: "U+1F1EC U+1F1EB", 509 | name: "French Guiana", 510 | emoji: "🇬🇫" 511 | }, 512 | GG: { 513 | code: "GG", 514 | unicode: "U+1F1EC U+1F1EC", 515 | name: "Guernsey", 516 | emoji: "🇬🇬" 517 | }, 518 | GH: { 519 | code: "GH", 520 | unicode: "U+1F1EC U+1F1ED", 521 | name: "Ghana", 522 | emoji: "🇬🇭" 523 | }, 524 | GI: { 525 | code: "GI", 526 | unicode: "U+1F1EC U+1F1EE", 527 | name: "Gibraltar", 528 | emoji: "🇬🇮" 529 | }, 530 | GL: { 531 | code: "GL", 532 | unicode: "U+1F1EC U+1F1F1", 533 | name: "Greenland", 534 | emoji: "🇬🇱" 535 | }, 536 | GM: { 537 | code: "GM", 538 | unicode: "U+1F1EC U+1F1F2", 539 | name: "Gambia", 540 | emoji: "🇬🇲" 541 | }, 542 | GN: { 543 | code: "GN", 544 | unicode: "U+1F1EC U+1F1F3", 545 | name: "Guinea", 546 | emoji: "🇬🇳" 547 | }, 548 | GP: { 549 | code: "GP", 550 | unicode: "U+1F1EC U+1F1F5", 551 | name: "Guadeloupe", 552 | emoji: "🇬🇵" 553 | }, 554 | GQ: { 555 | code: "GQ", 556 | unicode: "U+1F1EC U+1F1F6", 557 | name: "Equatorial Guinea", 558 | emoji: "🇬🇶" 559 | }, 560 | GR: { 561 | code: "GR", 562 | unicode: "U+1F1EC U+1F1F7", 563 | name: "Greece", 564 | emoji: "🇬🇷" 565 | }, 566 | GS: { 567 | code: "GS", 568 | unicode: "U+1F1EC U+1F1F8", 569 | name: "South Georgia & South Sandwich Islands", 570 | emoji: "🇬🇸" 571 | }, 572 | GT: { 573 | code: "GT", 574 | unicode: "U+1F1EC U+1F1F9", 575 | name: "Guatemala", 576 | emoji: "🇬🇹" 577 | }, 578 | GU: { 579 | code: "GU", 580 | unicode: "U+1F1EC U+1F1FA", 581 | name: "Guam", 582 | emoji: "🇬🇺" 583 | }, 584 | GW: { 585 | code: "GW", 586 | unicode: "U+1F1EC U+1F1FC", 587 | name: "Guinea-Bissau", 588 | emoji: "🇬🇼" 589 | }, 590 | GY: { 591 | code: "GY", 592 | unicode: "U+1F1EC U+1F1FE", 593 | name: "Guyana", 594 | emoji: "🇬🇾" 595 | }, 596 | HK: { 597 | code: "HK", 598 | unicode: "U+1F1ED U+1F1F0", 599 | name: "Hong Kong SAR China", 600 | emoji: "🇭🇰" 601 | }, 602 | HM: { 603 | code: "HM", 604 | unicode: "U+1F1ED U+1F1F2", 605 | name: "Heard & McDonald Islands", 606 | emoji: "🇭🇲" 607 | }, 608 | HN: { 609 | code: "HN", 610 | unicode: "U+1F1ED U+1F1F3", 611 | name: "Honduras", 612 | emoji: "🇭🇳" 613 | }, 614 | HR: { 615 | code: "HR", 616 | unicode: "U+1F1ED U+1F1F7", 617 | name: "Croatia", 618 | emoji: "🇭🇷" 619 | }, 620 | HT: { 621 | code: "HT", 622 | unicode: "U+1F1ED U+1F1F9", 623 | name: "Haiti", 624 | emoji: "🇭🇹" 625 | }, 626 | HU: { 627 | code: "HU", 628 | unicode: "U+1F1ED U+1F1FA", 629 | name: "Hungary", 630 | emoji: "🇭🇺" 631 | }, 632 | IC: { 633 | code: "IC", 634 | unicode: "U+1F1EE U+1F1E8", 635 | name: "Canary Islands", 636 | emoji: "🇮🇨" 637 | }, 638 | ID: { 639 | code: "ID", 640 | unicode: "U+1F1EE U+1F1E9", 641 | name: "Indonesia", 642 | emoji: "🇮🇩" 643 | }, 644 | IE: { 645 | code: "IE", 646 | unicode: "U+1F1EE U+1F1EA", 647 | name: "Ireland", 648 | emoji: "🇮🇪" 649 | }, 650 | IL: { 651 | code: "IL", 652 | unicode: "U+1F1EE U+1F1F1", 653 | name: "Israel", 654 | emoji: "🇮🇱" 655 | }, 656 | IM: { 657 | code: "IM", 658 | unicode: "U+1F1EE U+1F1F2", 659 | name: "Isle of Man", 660 | emoji: "🇮🇲" 661 | }, 662 | IN: { 663 | code: "IN", 664 | unicode: "U+1F1EE U+1F1F3", 665 | name: "India", 666 | emoji: "🇮🇳" 667 | }, 668 | IO: { 669 | code: "IO", 670 | unicode: "U+1F1EE U+1F1F4", 671 | name: "British Indian Ocean Territory", 672 | emoji: "🇮🇴" 673 | }, 674 | IQ: { 675 | code: "IQ", 676 | unicode: "U+1F1EE U+1F1F6", 677 | name: "Iraq", 678 | emoji: "🇮🇶" 679 | }, 680 | IR: { 681 | code: "IR", 682 | unicode: "U+1F1EE U+1F1F7", 683 | name: "Iran", 684 | emoji: "🇮🇷" 685 | }, 686 | IS: { 687 | code: "IS", 688 | unicode: "U+1F1EE U+1F1F8", 689 | name: "Iceland", 690 | emoji: "🇮🇸" 691 | }, 692 | IT: { 693 | code: "IT", 694 | unicode: "U+1F1EE U+1F1F9", 695 | name: "Italy", 696 | emoji: "🇮🇹" 697 | }, 698 | JE: { 699 | code: "JE", 700 | unicode: "U+1F1EF U+1F1EA", 701 | name: "Jersey", 702 | emoji: "🇯🇪" 703 | }, 704 | JM: { 705 | code: "JM", 706 | unicode: "U+1F1EF U+1F1F2", 707 | name: "Jamaica", 708 | emoji: "🇯🇲" 709 | }, 710 | JO: { 711 | code: "JO", 712 | unicode: "U+1F1EF U+1F1F4", 713 | name: "Jordan", 714 | emoji: "🇯🇴" 715 | }, 716 | JP: { 717 | code: "JP", 718 | unicode: "U+1F1EF U+1F1F5", 719 | name: "Japan", 720 | emoji: "🇯🇵" 721 | }, 722 | KE: { 723 | code: "KE", 724 | unicode: "U+1F1F0 U+1F1EA", 725 | name: "Kenya", 726 | emoji: "🇰🇪" 727 | }, 728 | KG: { 729 | code: "KG", 730 | unicode: "U+1F1F0 U+1F1EC", 731 | name: "Kyrgyzstan", 732 | emoji: "🇰🇬" 733 | }, 734 | KH: { 735 | code: "KH", 736 | unicode: "U+1F1F0 U+1F1ED", 737 | name: "Cambodia", 738 | emoji: "🇰🇭" 739 | }, 740 | KI: { 741 | code: "KI", 742 | unicode: "U+1F1F0 U+1F1EE", 743 | name: "Kiribati", 744 | emoji: "🇰🇮" 745 | }, 746 | KM: { 747 | code: "KM", 748 | unicode: "U+1F1F0 U+1F1F2", 749 | name: "Comoros", 750 | emoji: "🇰🇲" 751 | }, 752 | KN: { 753 | code: "KN", 754 | unicode: "U+1F1F0 U+1F1F3", 755 | name: "St. Kitts & Nevis", 756 | emoji: "🇰🇳" 757 | }, 758 | KP: { 759 | code: "KP", 760 | unicode: "U+1F1F0 U+1F1F5", 761 | name: "North Korea", 762 | emoji: "🇰🇵" 763 | }, 764 | KR: { 765 | code: "KR", 766 | unicode: "U+1F1F0 U+1F1F7", 767 | name: "South Korea", 768 | emoji: "🇰🇷" 769 | }, 770 | KW: { 771 | code: "KW", 772 | unicode: "U+1F1F0 U+1F1FC", 773 | name: "Kuwait", 774 | emoji: "🇰🇼" 775 | }, 776 | KY: { 777 | code: "KY", 778 | unicode: "U+1F1F0 U+1F1FE", 779 | name: "Cayman Islands", 780 | emoji: "🇰🇾" 781 | }, 782 | KZ: { 783 | code: "KZ", 784 | unicode: "U+1F1F0 U+1F1FF", 785 | name: "Kazakhstan", 786 | emoji: "🇰🇿" 787 | }, 788 | LA: { 789 | code: "LA", 790 | unicode: "U+1F1F1 U+1F1E6", 791 | name: "Laos", 792 | emoji: "🇱🇦" 793 | }, 794 | LB: { 795 | code: "LB", 796 | unicode: "U+1F1F1 U+1F1E7", 797 | name: "Lebanon", 798 | emoji: "🇱🇧" 799 | }, 800 | LC: { 801 | code: "LC", 802 | unicode: "U+1F1F1 U+1F1E8", 803 | name: "St. Lucia", 804 | emoji: "🇱🇨" 805 | }, 806 | LI: { 807 | code: "LI", 808 | unicode: "U+1F1F1 U+1F1EE", 809 | name: "Liechtenstein", 810 | emoji: "🇱🇮" 811 | }, 812 | LK: { 813 | code: "LK", 814 | unicode: "U+1F1F1 U+1F1F0", 815 | name: "Sri Lanka", 816 | emoji: "🇱🇰" 817 | }, 818 | LR: { 819 | code: "LR", 820 | unicode: "U+1F1F1 U+1F1F7", 821 | name: "Liberia", 822 | emoji: "🇱🇷" 823 | }, 824 | LS: { 825 | code: "LS", 826 | unicode: "U+1F1F1 U+1F1F8", 827 | name: "Lesotho", 828 | emoji: "🇱🇸" 829 | }, 830 | LT: { 831 | code: "LT", 832 | unicode: "U+1F1F1 U+1F1F9", 833 | name: "Lithuania", 834 | emoji: "🇱🇹" 835 | }, 836 | LU: { 837 | code: "LU", 838 | unicode: "U+1F1F1 U+1F1FA", 839 | name: "Luxembourg", 840 | emoji: "🇱🇺" 841 | }, 842 | LV: { 843 | code: "LV", 844 | unicode: "U+1F1F1 U+1F1FB", 845 | name: "Latvia", 846 | emoji: "🇱🇻" 847 | }, 848 | LY: { 849 | code: "LY", 850 | unicode: "U+1F1F1 U+1F1FE", 851 | name: "Libya", 852 | emoji: "🇱🇾" 853 | }, 854 | MA: { 855 | code: "MA", 856 | unicode: "U+1F1F2 U+1F1E6", 857 | name: "Morocco", 858 | emoji: "🇲🇦" 859 | }, 860 | MC: { 861 | code: "MC", 862 | unicode: "U+1F1F2 U+1F1E8", 863 | name: "Monaco", 864 | emoji: "🇲🇨" 865 | }, 866 | MD: { 867 | code: "MD", 868 | unicode: "U+1F1F2 U+1F1E9", 869 | name: "Moldova", 870 | emoji: "🇲🇩" 871 | }, 872 | ME: { 873 | code: "ME", 874 | unicode: "U+1F1F2 U+1F1EA", 875 | name: "Montenegro", 876 | emoji: "🇲🇪" 877 | }, 878 | MF: { 879 | code: "MF", 880 | unicode: "U+1F1F2 U+1F1EB", 881 | name: "St. Martin", 882 | emoji: "🇲🇫" 883 | }, 884 | MG: { 885 | code: "MG", 886 | unicode: "U+1F1F2 U+1F1EC", 887 | name: "Madagascar", 888 | emoji: "🇲🇬" 889 | }, 890 | MH: { 891 | code: "MH", 892 | unicode: "U+1F1F2 U+1F1ED", 893 | name: "Marshall Islands", 894 | emoji: "🇲🇭" 895 | }, 896 | MK: { 897 | code: "MK", 898 | unicode: "U+1F1F2 U+1F1F0", 899 | name: "Macedonia", 900 | emoji: "🇲🇰" 901 | }, 902 | ML: { 903 | code: "ML", 904 | unicode: "U+1F1F2 U+1F1F1", 905 | name: "Mali", 906 | emoji: "🇲🇱" 907 | }, 908 | MM: { 909 | code: "MM", 910 | unicode: "U+1F1F2 U+1F1F2", 911 | name: "Myanmar (Burma)", 912 | emoji: "🇲🇲" 913 | }, 914 | MN: { 915 | code: "MN", 916 | unicode: "U+1F1F2 U+1F1F3", 917 | name: "Mongolia", 918 | emoji: "🇲🇳" 919 | }, 920 | MO: { 921 | code: "MO", 922 | unicode: "U+1F1F2 U+1F1F4", 923 | name: "Macau SAR China", 924 | emoji: "🇲🇴" 925 | }, 926 | MP: { 927 | code: "MP", 928 | unicode: "U+1F1F2 U+1F1F5", 929 | name: "Northern Mariana Islands", 930 | emoji: "🇲🇵" 931 | }, 932 | MQ: { 933 | code: "MQ", 934 | unicode: "U+1F1F2 U+1F1F6", 935 | name: "Martinique", 936 | emoji: "🇲🇶" 937 | }, 938 | MR: { 939 | code: "MR", 940 | unicode: "U+1F1F2 U+1F1F7", 941 | name: "Mauritania", 942 | emoji: "🇲🇷" 943 | }, 944 | MS: { 945 | code: "MS", 946 | unicode: "U+1F1F2 U+1F1F8", 947 | name: "Montserrat", 948 | emoji: "🇲🇸" 949 | }, 950 | MT: { 951 | code: "MT", 952 | unicode: "U+1F1F2 U+1F1F9", 953 | name: "Malta", 954 | emoji: "🇲🇹" 955 | }, 956 | MU: { 957 | code: "MU", 958 | unicode: "U+1F1F2 U+1F1FA", 959 | name: "Mauritius", 960 | emoji: "🇲🇺" 961 | }, 962 | MV: { 963 | code: "MV", 964 | unicode: "U+1F1F2 U+1F1FB", 965 | name: "Maldives", 966 | emoji: "🇲🇻" 967 | }, 968 | MW: { 969 | code: "MW", 970 | unicode: "U+1F1F2 U+1F1FC", 971 | name: "Malawi", 972 | emoji: "🇲🇼" 973 | }, 974 | MX: { 975 | code: "MX", 976 | unicode: "U+1F1F2 U+1F1FD", 977 | name: "Mexico", 978 | emoji: "🇲🇽" 979 | }, 980 | MY: { 981 | code: "MY", 982 | unicode: "U+1F1F2 U+1F1FE", 983 | name: "Malaysia", 984 | emoji: "🇲🇾" 985 | }, 986 | MZ: { 987 | code: "MZ", 988 | unicode: "U+1F1F2 U+1F1FF", 989 | name: "Mozambique", 990 | emoji: "🇲🇿" 991 | }, 992 | NA: { 993 | code: "NA", 994 | unicode: "U+1F1F3 U+1F1E6", 995 | name: "Namibia", 996 | emoji: "🇳🇦" 997 | }, 998 | NC: { 999 | code: "NC", 1000 | unicode: "U+1F1F3 U+1F1E8", 1001 | name: "New Caledonia", 1002 | emoji: "🇳🇨" 1003 | }, 1004 | NE: { 1005 | code: "NE", 1006 | unicode: "U+1F1F3 U+1F1EA", 1007 | name: "Niger", 1008 | emoji: "🇳🇪" 1009 | }, 1010 | NF: { 1011 | code: "NF", 1012 | unicode: "U+1F1F3 U+1F1EB", 1013 | name: "Norfolk Island", 1014 | emoji: "🇳🇫" 1015 | }, 1016 | NG: { 1017 | code: "NG", 1018 | unicode: "U+1F1F3 U+1F1EC", 1019 | name: "Nigeria", 1020 | emoji: "🇳🇬" 1021 | }, 1022 | NI: { 1023 | code: "NI", 1024 | unicode: "U+1F1F3 U+1F1EE", 1025 | name: "Nicaragua", 1026 | emoji: "🇳🇮" 1027 | }, 1028 | NL: { 1029 | code: "NL", 1030 | unicode: "U+1F1F3 U+1F1F1", 1031 | name: "Netherlands", 1032 | emoji: "🇳🇱" 1033 | }, 1034 | NO: { 1035 | code: "NO", 1036 | unicode: "U+1F1F3 U+1F1F4", 1037 | name: "Norway", 1038 | emoji: "🇳🇴" 1039 | }, 1040 | NP: { 1041 | code: "NP", 1042 | unicode: "U+1F1F3 U+1F1F5", 1043 | name: "Nepal", 1044 | emoji: "🇳🇵" 1045 | }, 1046 | NR: { 1047 | code: "NR", 1048 | unicode: "U+1F1F3 U+1F1F7", 1049 | name: "Nauru", 1050 | emoji: "🇳🇷" 1051 | }, 1052 | NU: { 1053 | code: "NU", 1054 | unicode: "U+1F1F3 U+1F1FA", 1055 | name: "Niue", 1056 | emoji: "🇳🇺" 1057 | }, 1058 | NZ: { 1059 | code: "NZ", 1060 | unicode: "U+1F1F3 U+1F1FF", 1061 | name: "New Zealand", 1062 | emoji: "🇳🇿" 1063 | }, 1064 | OM: { 1065 | code: "OM", 1066 | unicode: "U+1F1F4 U+1F1F2", 1067 | name: "Oman", 1068 | emoji: "🇴🇲" 1069 | }, 1070 | PA: { 1071 | code: "PA", 1072 | unicode: "U+1F1F5 U+1F1E6", 1073 | name: "Panama", 1074 | emoji: "🇵🇦" 1075 | }, 1076 | PE: { 1077 | code: "PE", 1078 | unicode: "U+1F1F5 U+1F1EA", 1079 | name: "Peru", 1080 | emoji: "🇵🇪" 1081 | }, 1082 | PF: { 1083 | code: "PF", 1084 | unicode: "U+1F1F5 U+1F1EB", 1085 | name: "French Polynesia", 1086 | emoji: "🇵🇫" 1087 | }, 1088 | PG: { 1089 | code: "PG", 1090 | unicode: "U+1F1F5 U+1F1EC", 1091 | name: "Papua New Guinea", 1092 | emoji: "🇵🇬" 1093 | }, 1094 | PH: { 1095 | code: "PH", 1096 | unicode: "U+1F1F5 U+1F1ED", 1097 | name: "Philippines", 1098 | emoji: "🇵🇭" 1099 | }, 1100 | PK: { 1101 | code: "PK", 1102 | unicode: "U+1F1F5 U+1F1F0", 1103 | name: "Pakistan", 1104 | emoji: "🇵🇰" 1105 | }, 1106 | PL: { 1107 | code: "PL", 1108 | unicode: "U+1F1F5 U+1F1F1", 1109 | name: "Poland", 1110 | emoji: "🇵🇱" 1111 | }, 1112 | PM: { 1113 | code: "PM", 1114 | unicode: "U+1F1F5 U+1F1F2", 1115 | name: "St. Pierre & Miquelon", 1116 | emoji: "🇵🇲" 1117 | }, 1118 | PN: { 1119 | code: "PN", 1120 | unicode: "U+1F1F5 U+1F1F3", 1121 | name: "Pitcairn Islands", 1122 | emoji: "🇵🇳" 1123 | }, 1124 | PR: { 1125 | code: "PR", 1126 | unicode: "U+1F1F5 U+1F1F7", 1127 | name: "Puerto Rico", 1128 | emoji: "🇵🇷" 1129 | }, 1130 | PS: { 1131 | code: "PS", 1132 | unicode: "U+1F1F5 U+1F1F8", 1133 | name: "Palestinian Territories", 1134 | emoji: "🇵🇸" 1135 | }, 1136 | PT: { 1137 | code: "PT", 1138 | unicode: "U+1F1F5 U+1F1F9", 1139 | name: "Portugal", 1140 | emoji: "🇵🇹" 1141 | }, 1142 | PW: { 1143 | code: "PW", 1144 | unicode: "U+1F1F5 U+1F1FC", 1145 | name: "Palau", 1146 | emoji: "🇵🇼" 1147 | }, 1148 | PY: { 1149 | code: "PY", 1150 | unicode: "U+1F1F5 U+1F1FE", 1151 | name: "Paraguay", 1152 | emoji: "🇵🇾" 1153 | }, 1154 | QA: { 1155 | code: "QA", 1156 | unicode: "U+1F1F6 U+1F1E6", 1157 | name: "Qatar", 1158 | emoji: "🇶🇦" 1159 | }, 1160 | RE: { 1161 | code: "RE", 1162 | unicode: "U+1F1F7 U+1F1EA", 1163 | name: "Réunion", 1164 | emoji: "🇷🇪" 1165 | }, 1166 | RO: { 1167 | code: "RO", 1168 | unicode: "U+1F1F7 U+1F1F4", 1169 | name: "Romania", 1170 | emoji: "🇷🇴" 1171 | }, 1172 | RS: { 1173 | code: "RS", 1174 | unicode: "U+1F1F7 U+1F1F8", 1175 | name: "Serbia", 1176 | emoji: "🇷🇸" 1177 | }, 1178 | RU: { 1179 | code: "RU", 1180 | unicode: "U+1F1F7 U+1F1FA", 1181 | name: "Russia", 1182 | emoji: "🇷🇺" 1183 | }, 1184 | RW: { 1185 | code: "RW", 1186 | unicode: "U+1F1F7 U+1F1FC", 1187 | name: "Rwanda", 1188 | emoji: "🇷🇼" 1189 | }, 1190 | SA: { 1191 | code: "SA", 1192 | unicode: "U+1F1F8 U+1F1E6", 1193 | name: "Saudi Arabia", 1194 | emoji: "🇸🇦" 1195 | }, 1196 | SB: { 1197 | code: "SB", 1198 | unicode: "U+1F1F8 U+1F1E7", 1199 | name: "Solomon Islands", 1200 | emoji: "🇸🇧" 1201 | }, 1202 | SC: { 1203 | code: "SC", 1204 | unicode: "U+1F1F8 U+1F1E8", 1205 | name: "Seychelles", 1206 | emoji: "🇸🇨" 1207 | }, 1208 | SD: { 1209 | code: "SD", 1210 | unicode: "U+1F1F8 U+1F1E9", 1211 | name: "Sudan", 1212 | emoji: "🇸🇩" 1213 | }, 1214 | SE: { 1215 | code: "SE", 1216 | unicode: "U+1F1F8 U+1F1EA", 1217 | name: "Sweden", 1218 | emoji: "🇸🇪" 1219 | }, 1220 | SG: { 1221 | code: "SG", 1222 | unicode: "U+1F1F8 U+1F1EC", 1223 | name: "Singapore", 1224 | emoji: "🇸🇬" 1225 | }, 1226 | SH: { 1227 | code: "SH", 1228 | unicode: "U+1F1F8 U+1F1ED", 1229 | name: "St. Helena", 1230 | emoji: "🇸🇭" 1231 | }, 1232 | SI: { 1233 | code: "SI", 1234 | unicode: "U+1F1F8 U+1F1EE", 1235 | name: "Slovenia", 1236 | emoji: "🇸🇮" 1237 | }, 1238 | SJ: { 1239 | code: "SJ", 1240 | unicode: "U+1F1F8 U+1F1EF", 1241 | name: "Svalbard & Jan Mayen", 1242 | emoji: "🇸🇯" 1243 | }, 1244 | SK: { 1245 | code: "SK", 1246 | unicode: "U+1F1F8 U+1F1F0", 1247 | name: "Slovakia", 1248 | emoji: "🇸🇰" 1249 | }, 1250 | SL: { 1251 | code: "SL", 1252 | unicode: "U+1F1F8 U+1F1F1", 1253 | name: "Sierra Leone", 1254 | emoji: "🇸🇱" 1255 | }, 1256 | SM: { 1257 | code: "SM", 1258 | unicode: "U+1F1F8 U+1F1F2", 1259 | name: "San Marino", 1260 | emoji: "🇸🇲" 1261 | }, 1262 | SN: { 1263 | code: "SN", 1264 | unicode: "U+1F1F8 U+1F1F3", 1265 | name: "Senegal", 1266 | emoji: "🇸🇳" 1267 | }, 1268 | SO: { 1269 | code: "SO", 1270 | unicode: "U+1F1F8 U+1F1F4", 1271 | name: "Somalia", 1272 | emoji: "🇸🇴" 1273 | }, 1274 | SR: { 1275 | code: "SR", 1276 | unicode: "U+1F1F8 U+1F1F7", 1277 | name: "Suriname", 1278 | emoji: "🇸🇷" 1279 | }, 1280 | SS: { 1281 | code: "SS", 1282 | unicode: "U+1F1F8 U+1F1F8", 1283 | name: "South Sudan", 1284 | emoji: "🇸🇸" 1285 | }, 1286 | ST: { 1287 | code: "ST", 1288 | unicode: "U+1F1F8 U+1F1F9", 1289 | name: "São Tomé & Príncipe", 1290 | emoji: "🇸🇹" 1291 | }, 1292 | SV: { 1293 | code: "SV", 1294 | unicode: "U+1F1F8 U+1F1FB", 1295 | name: "El Salvador", 1296 | emoji: "🇸🇻" 1297 | }, 1298 | SX: { 1299 | code: "SX", 1300 | unicode: "U+1F1F8 U+1F1FD", 1301 | name: "Sint Maarten", 1302 | emoji: "🇸🇽" 1303 | }, 1304 | SY: { 1305 | code: "SY", 1306 | unicode: "U+1F1F8 U+1F1FE", 1307 | name: "Syria", 1308 | emoji: "🇸🇾" 1309 | }, 1310 | SZ: { 1311 | code: "SZ", 1312 | unicode: "U+1F1F8 U+1F1FF", 1313 | name: "Swaziland", 1314 | emoji: "🇸🇿" 1315 | }, 1316 | TA: { 1317 | code: "TA", 1318 | unicode: "U+1F1F9 U+1F1E6", 1319 | name: "Tristan da Cunha", 1320 | emoji: "🇹🇦" 1321 | }, 1322 | TC: { 1323 | code: "TC", 1324 | unicode: "U+1F1F9 U+1F1E8", 1325 | name: "Turks & Caicos Islands", 1326 | emoji: "🇹🇨" 1327 | }, 1328 | TD: { 1329 | code: "TD", 1330 | unicode: "U+1F1F9 U+1F1E9", 1331 | name: "Chad", 1332 | emoji: "🇹🇩" 1333 | }, 1334 | TF: { 1335 | code: "TF", 1336 | unicode: "U+1F1F9 U+1F1EB", 1337 | name: "French Southern Territories", 1338 | emoji: "🇹🇫" 1339 | }, 1340 | TG: { 1341 | code: "TG", 1342 | unicode: "U+1F1F9 U+1F1EC", 1343 | name: "Togo", 1344 | emoji: "🇹🇬" 1345 | }, 1346 | TH: { 1347 | code: "TH", 1348 | unicode: "U+1F1F9 U+1F1ED", 1349 | name: "Thailand", 1350 | emoji: "🇹🇭" 1351 | }, 1352 | TJ: { 1353 | code: "TJ", 1354 | unicode: "U+1F1F9 U+1F1EF", 1355 | name: "Tajikistan", 1356 | emoji: "🇹🇯" 1357 | }, 1358 | TK: { 1359 | code: "TK", 1360 | unicode: "U+1F1F9 U+1F1F0", 1361 | name: "Tokelau", 1362 | emoji: "🇹🇰" 1363 | }, 1364 | TL: { 1365 | code: "TL", 1366 | unicode: "U+1F1F9 U+1F1F1", 1367 | name: "Timor-Leste", 1368 | emoji: "🇹🇱" 1369 | }, 1370 | TM: { 1371 | code: "TM", 1372 | unicode: "U+1F1F9 U+1F1F2", 1373 | name: "Turkmenistan", 1374 | emoji: "🇹🇲" 1375 | }, 1376 | TN: { 1377 | code: "TN", 1378 | unicode: "U+1F1F9 U+1F1F3", 1379 | name: "Tunisia", 1380 | emoji: "🇹🇳" 1381 | }, 1382 | TO: { 1383 | code: "TO", 1384 | unicode: "U+1F1F9 U+1F1F4", 1385 | name: "Tonga", 1386 | emoji: "🇹🇴" 1387 | }, 1388 | TR: { 1389 | code: "TR", 1390 | unicode: "U+1F1F9 U+1F1F7", 1391 | name: "Turkey", 1392 | emoji: "🇹🇷" 1393 | }, 1394 | TT: { 1395 | code: "TT", 1396 | unicode: "U+1F1F9 U+1F1F9", 1397 | name: "Trinidad & Tobago", 1398 | emoji: "🇹🇹" 1399 | }, 1400 | TV: { 1401 | code: "TV", 1402 | unicode: "U+1F1F9 U+1F1FB", 1403 | name: "Tuvalu", 1404 | emoji: "🇹🇻" 1405 | }, 1406 | TW: { 1407 | code: "TW", 1408 | unicode: "U+1F1F9 U+1F1FC", 1409 | name: "Taiwan", 1410 | emoji: "🇹🇼" 1411 | }, 1412 | TZ: { 1413 | code: "TZ", 1414 | unicode: "U+1F1F9 U+1F1FF", 1415 | name: "Tanzania", 1416 | emoji: "🇹🇿" 1417 | }, 1418 | UA: { 1419 | code: "UA", 1420 | unicode: "U+1F1FA U+1F1E6", 1421 | name: "Ukraine", 1422 | emoji: "🇺🇦" 1423 | }, 1424 | UG: { 1425 | code: "UG", 1426 | unicode: "U+1F1FA U+1F1EC", 1427 | name: "Uganda", 1428 | emoji: "🇺🇬" 1429 | }, 1430 | UM: { 1431 | code: "UM", 1432 | unicode: "U+1F1FA U+1F1F2", 1433 | name: "U.S. Outlying Islands", 1434 | emoji: "🇺🇲" 1435 | }, 1436 | UN: { 1437 | code: "UN", 1438 | unicode: "U+1F1FA U+1F1F3", 1439 | name: "United Nations", 1440 | emoji: "🇺🇳" 1441 | }, 1442 | US: { 1443 | code: "US", 1444 | unicode: "U+1F1FA U+1F1F8", 1445 | name: "United States", 1446 | emoji: "🇺🇸" 1447 | }, 1448 | UY: { 1449 | code: "UY", 1450 | unicode: "U+1F1FA U+1F1FE", 1451 | name: "Uruguay", 1452 | emoji: "🇺🇾" 1453 | }, 1454 | UZ: { 1455 | code: "UZ", 1456 | unicode: "U+1F1FA U+1F1FF", 1457 | name: "Uzbekistan", 1458 | emoji: "🇺🇿" 1459 | }, 1460 | VA: { 1461 | code: "VA", 1462 | unicode: "U+1F1FB U+1F1E6", 1463 | name: "Vatican City", 1464 | emoji: "🇻🇦" 1465 | }, 1466 | VC: { 1467 | code: "VC", 1468 | unicode: "U+1F1FB U+1F1E8", 1469 | name: "St. Vincent & Grenadines", 1470 | emoji: "🇻🇨" 1471 | }, 1472 | VE: { 1473 | code: "VE", 1474 | unicode: "U+1F1FB U+1F1EA", 1475 | name: "Venezuela", 1476 | emoji: "🇻🇪" 1477 | }, 1478 | VG: { 1479 | code: "VG", 1480 | unicode: "U+1F1FB U+1F1EC", 1481 | name: "British Virgin Islands", 1482 | emoji: "🇻🇬" 1483 | }, 1484 | VI: { 1485 | code: "VI", 1486 | unicode: "U+1F1FB U+1F1EE", 1487 | name: "U.S. Virgin Islands", 1488 | emoji: "🇻🇮" 1489 | }, 1490 | VN: { 1491 | code: "VN", 1492 | unicode: "U+1F1FB U+1F1F3", 1493 | name: "Vietnam", 1494 | emoji: "🇻🇳" 1495 | }, 1496 | VU: { 1497 | code: "VU", 1498 | unicode: "U+1F1FB U+1F1FA", 1499 | name: "Vanuatu", 1500 | emoji: "🇻🇺" 1501 | }, 1502 | WF: { 1503 | code: "WF", 1504 | unicode: "U+1F1FC U+1F1EB", 1505 | name: "Wallis & Futuna", 1506 | emoji: "🇼🇫" 1507 | }, 1508 | WS: { 1509 | code: "WS", 1510 | unicode: "U+1F1FC U+1F1F8", 1511 | name: "Samoa", 1512 | emoji: "🇼🇸" 1513 | }, 1514 | XK: { 1515 | code: "XK", 1516 | unicode: "U+1F1FD U+1F1F0", 1517 | name: "Kosovo", 1518 | emoji: "🇽🇰" 1519 | }, 1520 | YE: { 1521 | code: "YE", 1522 | unicode: "U+1F1FE U+1F1EA", 1523 | name: "Yemen", 1524 | emoji: "🇾🇪" 1525 | }, 1526 | YT: { 1527 | code: "YT", 1528 | unicode: "U+1F1FE U+1F1F9", 1529 | name: "Mayotte", 1530 | emoji: "🇾🇹" 1531 | }, 1532 | ZA: { 1533 | code: "ZA", 1534 | unicode: "U+1F1FF U+1F1E6", 1535 | name: "South Africa", 1536 | emoji: "🇿🇦" 1537 | }, 1538 | ZM: { 1539 | code: "ZM", 1540 | unicode: "U+1F1FF U+1F1F2", 1541 | name: "Zambia", 1542 | emoji: "🇿🇲" 1543 | }, 1544 | ZW: { 1545 | code: "ZW", 1546 | unicode: "U+1F1FF U+1F1FC", 1547 | name: "Zimbabwe", 1548 | emoji: "🇿🇼" 1549 | } 1550 | }; 1551 | --------------------------------------------------------------------------------