├── .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 | [](https://travis-ci.org/risan/country-flag-emoji)
4 | [](https://codecov.io/gh/risan/country-flag-emoji)
5 | [](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 |
--------------------------------------------------------------------------------