Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including iso-countries with all npm packages installed. Try it out:

var isoCountries = require("iso-countries")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

iso-countries v0.0.5

ISO Country and Currency Codes

ISO Country Codes

a little javascript helper

This library is a javascript version of the dataset originally published by Andrew Patton. This dataset merges information from ISO, United Nations and the CIA World Factbook.

By converting the dataset to javascript objects you can access commonly required information (name, currency etc) just using the two letter ISO 3166-1 alpha-2 code. Additional methods are available to search for countries by current, name, international telephone dialling prefix, top-level internet domain etc.

It works in both Node.js and the web browser.


For use in Node.js:

npm install iso-countries

In the browser just copy the file from dist\countries.min.js (skinny) or dist\countries.js (full-fat).


To create distributable files:

npm install
make dist

To run the tests (requires mocha and should):

make test

To run everything

make all


TODO - add once finder methods are complete

See tests for now. Sorry.



Changes to the data

I've included a copy of the source data file isocountry_detailed.txt. If you believe updates are required pleases let me know. If you disagree with the United Nations or ISO on the status or name of a country then you should probably fork your own version (or this repo, not the country).


This library uses the reserved ISO 3166-1 alpha-2 code 'XX' to represent Worldwide. This might not be for everyone but it was consistent with my personal use cases. I'll probably add a build option to exclude this.


  • Likely to split the browser version into two (regular and light) so that more fields such as population and local names can be included.

  • Provide CSS files for flags


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free