Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save adaRn/7315343c42852ad7b2ae30e7090aea99 to your computer and use it in GitHub Desktop.
Save adaRn/7315343c42852ad7b2ae30e7090aea99 to your computer and use it in GitHub Desktop.
Ruby. Array of countries with their codes. According to ISO 3166-1 alpha-2 (two-letter codes). Based on https://gist.github.com/vxnick/380904
[{:name=>"Afghanistan", :code=>"AF"},
{:name=>"Aland Islands", :code=>"AX"},
{:name=>"Albania", :code=>"AL"},
{:name=>"Algeria", :code=>"DZ"},
{:name=>"American Samoa", :code=>"AS"},
{:name=>"Andorra", :code=>"AD"},
{:name=>"Angola", :code=>"AO"},
{:name=>"Anguilla", :code=>"AI"},
{:name=>"Antarctica", :code=>"AQ"},
{:name=>"Antigua And Barbuda", :code=>"AG"},
{:name=>"Argentina", :code=>"AR"},
{:name=>"Armenia", :code=>"AM"},
{:name=>"Aruba", :code=>"AW"},
{:name=>"Australia", :code=>"AU"},
{:name=>"Austria", :code=>"AT"},
{:name=>"Azerbaijan", :code=>"AZ"},
{:name=>"Bahamas", :code=>"BS"},
{:name=>"Bahrain", :code=>"BH"},
{:name=>"Bangladesh", :code=>"BD"},
{:name=>"Barbados", :code=>"BB"},
{:name=>"Belarus", :code=>"BY"},
{:name=>"Belgium", :code=>"BE"},
{:name=>"Belize", :code=>"BZ"},
{:name=>"Benin", :code=>"BJ"},
{:name=>"Bermuda", :code=>"BM"},
{:name=>"Bhutan", :code=>"BT"},
{:name=>"Bolivia", :code=>"BO"},
{:name=>"Bosnia And Herzegovina", :code=>"BA"},
{:name=>"Botswana", :code=>"BW"},
{:name=>"Bouvet Island", :code=>"BV"},
{:name=>"Brazil", :code=>"BR"},
{:name=>"British Indian Ocean Territory", :code=>"IO"},
{:name=>"Brunei Darussalam", :code=>"BN"},
{:name=>"Bulgaria", :code=>"BG"},
{:name=>"Burkina Faso", :code=>"BF"},
{:name=>"Burundi", :code=>"BI"},
{:name=>"Cambodia", :code=>"KH"},
{:name=>"Cameroon", :code=>"CM"},
{:name=>"Canada", :code=>"CA"},
{:name=>"Cape Verde", :code=>"CV"},
{:name=>"Cayman Islands", :code=>"KY"},
{:name=>"Central African Republic", :code=>"CF"},
{:name=>"Chad", :code=>"TD"},
{:name=>"Chile", :code=>"CL"},
{:name=>"China", :code=>"CN"},
{:name=>"Christmas Island", :code=>"CX"},
{:name=>"Cocos (Keeling) Islands", :code=>"CC"},
{:name=>"Colombia", :code=>"CO"},
{:name=>"Comoros", :code=>"KM"},
{:name=>"Congo", :code=>"CG"},
{:name=>"Congo, Democratic Republic", :code=>"CD"},
{:name=>"Cook Islands", :code=>"CK"},
{:name=>"Costa Rica", :code=>"CR"},
{:name=>"Cote D'Ivoire", :code=>"CI"},
{:name=>"Croatia", :code=>"HR"},
{:name=>"Cuba", :code=>"CU"},
{:name=>"Cyprus", :code=>"CY"},
{:name=>"Czech Republic", :code=>"CZ"},
{:name=>"Denmark", :code=>"DK"},
{:name=>"Djibouti", :code=>"DJ"},
{:name=>"Dominica", :code=>"DM"},
{:name=>"Dominican Republic", :code=>"DO"},
{:name=>"Ecuador", :code=>"EC"},
{:name=>"Egypt", :code=>"EG"},
{:name=>"El Salvador", :code=>"SV"},
{:name=>"Equatorial Guinea", :code=>"GQ"},
{:name=>"Eritrea", :code=>"ER"},
{:name=>"Estonia", :code=>"EE"},
{:name=>"Ethiopia", :code=>"ET"},
{:name=>"Falkland Islands (Malvinas)", :code=>"FK"},
{:name=>"Faroe Islands", :code=>"FO"},
{:name=>"Fiji", :code=>"FJ"},
{:name=>"Finland", :code=>"FI"},
{:name=>"France", :code=>"FR"},
{:name=>"French Guiana", :code=>"GF"},
{:name=>"French Polynesia", :code=>"PF"},
{:name=>"French Southern Territories", :code=>"TF"},
{:name=>"Gabon", :code=>"GA"},
{:name=>"Gambia", :code=>"GM"},
{:name=>"Georgia", :code=>"GE"},
{:name=>"Germany", :code=>"DE"},
{:name=>"Ghana", :code=>"GH"},
{:name=>"Gibraltar", :code=>"GI"},
{:name=>"Greece", :code=>"GR"},
{:name=>"Greenland", :code=>"GL"},
{:name=>"Grenada", :code=>"GD"},
{:name=>"Guadeloupe", :code=>"GP"},
{:name=>"Guam", :code=>"GU"},
{:name=>"Guatemala", :code=>"GT"},
{:name=>"Guernsey", :code=>"GG"},
{:name=>"Guinea", :code=>"GN"},
{:name=>"Guinea-Bissau", :code=>"GW"},
{:name=>"Guyana", :code=>"GY"},
{:name=>"Haiti", :code=>"HT"},
{:name=>"Heard Island & Mcdonald Islands", :code=>"HM"},
{:name=>"Holy See (Vatican City State)", :code=>"VA"},
{:name=>"Honduras", :code=>"HN"},
{:name=>"Hong Kong", :code=>"HK"},
{:name=>"Hungary", :code=>"HU"},
{:name=>"Iceland", :code=>"IS"},
{:name=>"India", :code=>"IN"},
{:name=>"Indonesia", :code=>"ID"},
{:name=>"Iran, Islamic Republic Of", :code=>"IR"},
{:name=>"Iraq", :code=>"IQ"},
{:name=>"Ireland", :code=>"IE"},
{:name=>"Isle Of Man", :code=>"IM"},
{:name=>"Israel", :code=>"IL"},
{:name=>"Italy", :code=>"IT"},
{:name=>"Jamaica", :code=>"JM"},
{:name=>"Japan", :code=>"JP"},
{:name=>"Jersey", :code=>"JE"},
{:name=>"Jordan", :code=>"JO"},
{:name=>"Kazakhstan", :code=>"KZ"},
{:name=>"Kenya", :code=>"KE"},
{:name=>"Kiribati", :code=>"KI"},
{:name=>"Korea", :code=>"KR"},
{:name=>"Kuwait", :code=>"KW"},
{:name=>"Kyrgyzstan", :code=>"KG"},
{:name=>"Lao People's Democratic Republic", :code=>"LA"},
{:name=>"Latvia", :code=>"LV"},
{:name=>"Lebanon", :code=>"LB"},
{:name=>"Lesotho", :code=>"LS"},
{:name=>"Liberia", :code=>"LR"},
{:name=>"Libyan Arab Jamahiriya", :code=>"LY"},
{:name=>"Liechtenstein", :code=>"LI"},
{:name=>"Lithuania", :code=>"LT"},
{:name=>"Luxembourg", :code=>"LU"},
{:name=>"Macao", :code=>"MO"},
{:name=>"Macedonia", :code=>"MK"},
{:name=>"Madagascar", :code=>"MG"},
{:name=>"Malawi", :code=>"MW"},
{:name=>"Malaysia", :code=>"MY"},
{:name=>"Maldives", :code=>"MV"},
{:name=>"Mali", :code=>"ML"},
{:name=>"Malta", :code=>"MT"},
{:name=>"Marshall Islands", :code=>"MH"},
{:name=>"Martinique", :code=>"MQ"},
{:name=>"Mauritania", :code=>"MR"},
{:name=>"Mauritius", :code=>"MU"},
{:name=>"Mayotte", :code=>"YT"},
{:name=>"Mexico", :code=>"MX"},
{:name=>"Micronesia, Federated States Of", :code=>"FM"},
{:name=>"Moldova", :code=>"MD"},
{:name=>"Monaco", :code=>"MC"},
{:name=>"Mongolia", :code=>"MN"},
{:name=>"Montenegro", :code=>"ME"},
{:name=>"Montserrat", :code=>"MS"},
{:name=>"Morocco", :code=>"MA"},
{:name=>"Mozambique", :code=>"MZ"},
{:name=>"Myanmar", :code=>"MM"},
{:name=>"Namibia", :code=>"NA"},
{:name=>"Nauru", :code=>"NR"},
{:name=>"Nepal", :code=>"NP"},
{:name=>"Netherlands", :code=>"NL"},
{:name=>"Netherlands Antilles", :code=>"AN"},
{:name=>"New Caledonia", :code=>"NC"},
{:name=>"New Zealand", :code=>"NZ"},
{:name=>"Nicaragua", :code=>"NI"},
{:name=>"Niger", :code=>"NE"},
{:name=>"Nigeria", :code=>"NG"},
{:name=>"Niue", :code=>"NU"},
{:name=>"Norfolk Island", :code=>"NF"},
{:name=>"Northern Mariana Islands", :code=>"MP"},
{:name=>"Norway", :code=>"NO"},
{:name=>"Oman", :code=>"OM"},
{:name=>"Pakistan", :code=>"PK"},
{:name=>"Palau", :code=>"PW"},
{:name=>"Palestinian Territory, Occupied", :code=>"PS"},
{:name=>"Panama", :code=>"PA"},
{:name=>"Papua New Guinea", :code=>"PG"},
{:name=>"Paraguay", :code=>"PY"},
{:name=>"Peru", :code=>"PE"},
{:name=>"Philippines", :code=>"PH"},
{:name=>"Pitcairn", :code=>"PN"},
{:name=>"Poland", :code=>"PL"},
{:name=>"Portugal", :code=>"PT"},
{:name=>"Puerto Rico", :code=>"PR"},
{:name=>"Qatar", :code=>"QA"},
{:name=>"Reunion", :code=>"RE"},
{:name=>"Romania", :code=>"RO"},
{:name=>"Russian Federation", :code=>"RU"},
{:name=>"Rwanda", :code=>"RW"},
{:name=>"Saint Barthelemy", :code=>"BL"},
{:name=>"Saint Helena", :code=>"SH"},
{:name=>"Saint Kitts And Nevis", :code=>"KN"},
{:name=>"Saint Lucia", :code=>"LC"},
{:name=>"Saint Martin", :code=>"MF"},
{:name=>"Saint Pierre And Miquelon", :code=>"PM"},
{:name=>"Saint Vincent And Grenadines", :code=>"VC"},
{:name=>"Samoa", :code=>"WS"},
{:name=>"San Marino", :code=>"SM"},
{:name=>"Sao Tome And Principe", :code=>"ST"},
{:name=>"Saudi Arabia", :code=>"SA"},
{:name=>"Senegal", :code=>"SN"},
{:name=>"Serbia", :code=>"RS"},
{:name=>"Seychelles", :code=>"SC"},
{:name=>"Sierra Leone", :code=>"SL"},
{:name=>"Singapore", :code=>"SG"},
{:name=>"Slovakia", :code=>"SK"},
{:name=>"Slovenia", :code=>"SI"},
{:name=>"Solomon Islands", :code=>"SB"},
{:name=>"Somalia", :code=>"SO"},
{:name=>"South Africa", :code=>"ZA"},
{:name=>"South Georgia And Sandwich Isl.", :code=>"GS"},
{:name=>"Spain", :code=>"ES"},
{:name=>"Sri Lanka", :code=>"LK"},
{:name=>"Sudan", :code=>"SD"},
{:name=>"Suriname", :code=>"SR"},
{:name=>"Svalbard And Jan Mayen", :code=>"SJ"},
{:name=>"Swaziland", :code=>"SZ"},
{:name=>"Sweden", :code=>"SE"},
{:name=>"Switzerland", :code=>"CH"},
{:name=>"Syrian Arab Republic", :code=>"SY"},
{:name=>"Taiwan", :code=>"TW"},
{:name=>"Tajikistan", :code=>"TJ"},
{:name=>"Tanzania", :code=>"TZ"},
{:name=>"Thailand", :code=>"TH"},
{:name=>"Timor-Leste", :code=>"TL"},
{:name=>"Togo", :code=>"TG"},
{:name=>"Tokelau", :code=>"TK"},
{:name=>"Tonga", :code=>"TO"},
{:name=>"Trinidad And Tobago", :code=>"TT"},
{:name=>"Tunisia", :code=>"TN"},
{:name=>"Turkey", :code=>"TR"},
{:name=>"Turkmenistan", :code=>"TM"},
{:name=>"Turks And Caicos Islands", :code=>"TC"},
{:name=>"Tuvalu", :code=>"TV"},
{:name=>"Uganda", :code=>"UG"},
{:name=>"Ukraine", :code=>"UA"},
{:name=>"United Arab Emirates", :code=>"AE"},
{:name=>"United Kingdom", :code=>"GB"},
{:name=>"United States", :code=>"US"},
{:name=>"United States Outlying Islands", :code=>"UM"},
{:name=>"Uruguay", :code=>"UY"},
{:name=>"Uzbekistan", :code=>"UZ"},
{:name=>"Vanuatu", :code=>"VU"},
{:name=>"Venezuela", :code=>"VE"},
{:name=>"Viet Nam", :code=>"VN"},
{:name=>"Virgin Islands, British", :code=>"VG"},
{:name=>"Virgin Islands, U.S.", :code=>"VI"},
{:name=>"Wallis And Futuna", :code=>"WF"},
{:name=>"Western Sahara", :code=>"EH"},
{:name=>"Yemen", :code=>"YE"},
{:name=>"Zambia", :code=>"ZM"},
{:name=>"Zimbabwe", :code=>"ZW"}]
@EricDuminil
Copy link

Thanks.

It might be useful in a Hash with countries codes as keys:

{
    "AF"=>"Afghanistan",
    "AX"=>"Aland Islands",
    "AL"=>"Albania",
    "DZ"=>"Algeria",
    "AS"=>"American Samoa",
    "AD"=>"Andorra",
    "AO"=>"Angola",
    "AI"=>"Anguilla",
    "AQ"=>"Antarctica",
    "AG"=>"Antigua And Barbuda",
    "AR"=>"Argentina",
    "AM"=>"Armenia",
    "AW"=>"Aruba",
    "AU"=>"Australia",
    "AT"=>"Austria",
    "AZ"=>"Azerbaijan",
    "BS"=>"Bahamas",
    "BH"=>"Bahrain",
    "BD"=>"Bangladesh",
    "BB"=>"Barbados",
    "BY"=>"Belarus",
    "BE"=>"Belgium",
    "BZ"=>"Belize",
    "BJ"=>"Benin",
    "BM"=>"Bermuda",
    "BT"=>"Bhutan",
    "BO"=>"Bolivia",
    "BA"=>"Bosnia And Herzegovina",
    "BW"=>"Botswana",
    "BV"=>"Bouvet Island",
    "BR"=>"Brazil",
    "IO"=>"British Indian Ocean Territory",
    "BN"=>"Brunei Darussalam",
    "BG"=>"Bulgaria",
    "BF"=>"Burkina Faso",
    "BI"=>"Burundi",
    "KH"=>"Cambodia",
    "CM"=>"Cameroon",
    "CA"=>"Canada",
    "CV"=>"Cape Verde",
    "KY"=>"Cayman Islands",
    "CF"=>"Central African Republic",
    "TD"=>"Chad",
    "CL"=>"Chile",
    "CN"=>"China",
    "CX"=>"Christmas Island",
    "CC"=>"Cocos (Keeling) Islands",
    "CO"=>"Colombia",
    "KM"=>"Comoros",
    "CG"=>"Congo",
    "CD"=>"Congo, Democratic Republic",
    "CK"=>"Cook Islands",
    "CR"=>"Costa Rica",
    "CI"=>"Cote D'Ivoire",
    "HR"=>"Croatia",
    "CU"=>"Cuba",
    "CY"=>"Cyprus",
    "CZ"=>"Czech Republic",
    "DK"=>"Denmark",
    "DJ"=>"Djibouti",
    "DM"=>"Dominica",
    "DO"=>"Dominican Republic",
    "EC"=>"Ecuador",
    "EG"=>"Egypt",
    "SV"=>"El Salvador",
    "GQ"=>"Equatorial Guinea",
    "ER"=>"Eritrea",
    "EE"=>"Estonia",
    "ET"=>"Ethiopia",
    "FK"=>"Falkland Islands (Malvinas)",
    "FO"=>"Faroe Islands",
    "FJ"=>"Fiji",
    "FI"=>"Finland",
    "FR"=>"France",
    "GF"=>"French Guiana",
    "PF"=>"French Polynesia",
    "TF"=>"French Southern Territories",
    "GA"=>"Gabon",
    "GM"=>"Gambia",
    "GE"=>"Georgia",
    "DE"=>"Germany",
    "GH"=>"Ghana",
    "GI"=>"Gibraltar",
    "GR"=>"Greece",
    "GL"=>"Greenland",
    "GD"=>"Grenada",
    "GP"=>"Guadeloupe",
    "GU"=>"Guam",
    "GT"=>"Guatemala",
    "GG"=>"Guernsey",
    "GN"=>"Guinea",
    "GW"=>"Guinea-Bissau",
    "GY"=>"Guyana",
    "HT"=>"Haiti",
    "HM"=>"Heard Island & Mcdonald Islands",
    "VA"=>"Holy See (Vatican City State)",
    "HN"=>"Honduras",
    "HK"=>"Hong Kong",
    "HU"=>"Hungary",
    "IS"=>"Iceland",
    "IN"=>"India",
    "ID"=>"Indonesia",
    "IR"=>"Iran, Islamic Republic Of",
    "IQ"=>"Iraq",
    "IE"=>"Ireland",
    "IM"=>"Isle Of Man",
    "IL"=>"Israel",
    "IT"=>"Italy",
    "JM"=>"Jamaica",
    "JP"=>"Japan",
    "JE"=>"Jersey",
    "JO"=>"Jordan",
    "KZ"=>"Kazakhstan",
    "KE"=>"Kenya",
    "KI"=>"Kiribati",
    "KR"=>"Korea",
    "KW"=>"Kuwait",
    "KG"=>"Kyrgyzstan",
    "LA"=>"Lao People's Democratic Republic",
    "LV"=>"Latvia",
    "LB"=>"Lebanon",
    "LS"=>"Lesotho",
    "LR"=>"Liberia",
    "LY"=>"Libyan Arab Jamahiriya",
    "LI"=>"Liechtenstein",
    "LT"=>"Lithuania",
    "LU"=>"Luxembourg",
    "MO"=>"Macao",
    "MK"=>"Macedonia",
    "MG"=>"Madagascar",
    "MW"=>"Malawi",
    "MY"=>"Malaysia",
    "MV"=>"Maldives",
    "ML"=>"Mali",
    "MT"=>"Malta",
    "MH"=>"Marshall Islands",
    "MQ"=>"Martinique",
    "MR"=>"Mauritania",
    "MU"=>"Mauritius",
    "YT"=>"Mayotte",
    "MX"=>"Mexico",
    "FM"=>"Micronesia, Federated States Of",
    "MD"=>"Moldova",
    "MC"=>"Monaco",
    "MN"=>"Mongolia",
    "ME"=>"Montenegro",
    "MS"=>"Montserrat",
    "MA"=>"Morocco",
    "MZ"=>"Mozambique",
    "MM"=>"Myanmar",
    "NA"=>"Namibia",
    "NR"=>"Nauru",
    "NP"=>"Nepal",
    "NL"=>"Netherlands",
    "AN"=>"Netherlands Antilles",
    "NC"=>"New Caledonia",
    "NZ"=>"New Zealand",
    "NI"=>"Nicaragua",
    "NE"=>"Niger",
    "NG"=>"Nigeria",
    "NU"=>"Niue",
    "NF"=>"Norfolk Island",
    "MP"=>"Northern Mariana Islands",
    "NO"=>"Norway",
    "OM"=>"Oman",
    "PK"=>"Pakistan",
    "PW"=>"Palau",
    "PS"=>"Palestinian Territory, Occupied",
    "PA"=>"Panama",
    "PG"=>"Papua New Guinea",
    "PY"=>"Paraguay",
    "PE"=>"Peru",
    "PH"=>"Philippines",
    "PN"=>"Pitcairn",
    "PL"=>"Poland",
    "PT"=>"Portugal",
    "PR"=>"Puerto Rico",
    "QA"=>"Qatar",
    "RE"=>"Reunion",
    "RO"=>"Romania",
    "RU"=>"Russian Federation",
    "RW"=>"Rwanda",
    "BL"=>"Saint Barthelemy",
    "SH"=>"Saint Helena",
    "KN"=>"Saint Kitts And Nevis",
    "LC"=>"Saint Lucia",
    "MF"=>"Saint Martin",
    "PM"=>"Saint Pierre And Miquelon",
    "VC"=>"Saint Vincent And Grenadines",
    "WS"=>"Samoa",
    "SM"=>"San Marino",
    "ST"=>"Sao Tome And Principe",
    "SA"=>"Saudi Arabia",
    "SN"=>"Senegal",
    "RS"=>"Serbia",
    "SC"=>"Seychelles",
    "SL"=>"Sierra Leone",
    "SG"=>"Singapore",
    "SK"=>"Slovakia",
    "SI"=>"Slovenia",
    "SB"=>"Solomon Islands",
    "SO"=>"Somalia",
    "ZA"=>"South Africa",
    "GS"=>"South Georgia And Sandwich Isl.",
    "ES"=>"Spain",
    "LK"=>"Sri Lanka",
    "SD"=>"Sudan",
    "SR"=>"Suriname",
    "SJ"=>"Svalbard And Jan Mayen",
    "SZ"=>"Swaziland",
    "SE"=>"Sweden",
    "CH"=>"Switzerland",
    "SY"=>"Syrian Arab Republic",
    "TW"=>"Taiwan",
    "TJ"=>"Tajikistan",
    "TZ"=>"Tanzania",
    "TH"=>"Thailand",
    "TL"=>"Timor-Leste",
    "TG"=>"Togo",
    "TK"=>"Tokelau",
    "TO"=>"Tonga",
    "TT"=>"Trinidad And Tobago",
    "TN"=>"Tunisia",
    "TR"=>"Turkey",
    "TM"=>"Turkmenistan",
    "TC"=>"Turks And Caicos Islands",
    "TV"=>"Tuvalu",
    "UG"=>"Uganda",
    "UA"=>"Ukraine",
    "AE"=>"United Arab Emirates",
    "GB"=>"United Kingdom",
    "US"=>"United States",
    "UM"=>"United States Outlying Islands",
    "UY"=>"Uruguay",
    "UZ"=>"Uzbekistan",
    "VU"=>"Vanuatu",
    "VE"=>"Venezuela",
    "VN"=>"Viet Nam",
    "VG"=>"Virgin Islands, British",
    "VI"=>"Virgin Islands, U.S.",
    "WF"=>"Wallis And Futuna",
    "EH"=>"Western Sahara",
    "YE"=>"Yemen",
    "ZM"=>"Zambia",
    "ZW"=>"Zimbabwe"
}

@johnhailu
Copy link

with "countries" gem i only had to do this

ISO3166::Country.all.sort.map{|c| {value: c.alpha2 ,label: c.name}}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment