Skip to content
A list of react native libraries of various qualities that you can use with expo, and ones you can't.
Branch: master
Clone or download
turnrye Merge pull request #194 from ferrannp/patch-1
react-native-paper works on web too
Latest commit 007e0ad May 31, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
build chore: updated data May 27, 2019
common removes more flow Jul 24, 2018
components fix: footer anchor now links to the new repo URL May 27, 2019
pages finishes port of all styles to glamor, removes postcss dependencies Oct 23, 2017
scripts Make scripts more resilient against errors and add support for pkgs w… Mar 1, 2019
static [rnl] Initial commit Jul 5, 2017
.babelrc version bumps and node 10.7 Jul 24, 2018
.eslintignore Add yarn.lock, eslint prettier config, and fix most prettier errors Jul 5, 2017
.eslintrc safe version bumps Oct 9, 2017
.gitignore [rnl] updates url paths, more cleanup and polish, runs update-data fo… Jul 9, 2017
LICENSE [rnl] lands a new design and layout with new information Jul 7, 2017 chore: documented the `examples` optional key May 27, 2019
debug-github-repos.json Use flat array for repo data and object for each so we can add more meta Jul 6, 2017
index.js next 7.0.2 and react 16.4.2 Oct 16, 2018
package-lock.json next 7.0.2 and react 16.4.2 Oct 16, 2018
package.json next 7.0.2 and react 16.4.2 Oct 16, 2018
react-native-libraries.json react-native-paper works on web too May 29, 2019

Native Directory

Native Directory is a website where you can see all of the libraries that are compatible with React Native.


How do I know I'm at the right place?

  • You made a repository on GitHub and you want the world to know it works with React Native.
  • You want to submit a pull request to improve Native Directory.
  • You want to report a bug or make a suggestion.

I don't like your website, can I hit an API instead and build my own better stuff?

Yeah of course:

  • Returns a list of all libraries in JSON format.

  • Returns a list of all libraries in JSON format that have the keyword webgl.

  • Returns a list of all libraries in JSON format that have the keyword webgl and work with expo.

  • Returns a list of all libraries in JSON format that have the keyword webgl and work with expo and android.

I don't like how you calculate health scores.

  • Submit a PR with changes to scripts/calculate-score.js.
  • You have all the power! Tell us what you want.

How do I add a library?

  • Add it to react-native-libraries.json.
  • Submit a PR.

Please follow this format and indentation:

  "githubUrl": "<THE GITHUB URL>",
  "ios": false,
  "android": false,
  "web": false,
  "expo": false
  • ios - works on iOS phones.
  • android - works on Android phones.
  • web - can be used in the browser.
  • expo - can be used without detaching an Expo application.
  • examples - optional array of URLs (snacks preferred) with demonstrations of the library

Note: If your package is within a monorepo on GitHub, eg:, then the name, description, homepage, and topics (keywords) will be extracted from package.json for that subrepo. GitHub stats will be based on the monorepo, because there isn't really another option.

How do I run my own version locally?


  • Node 10.7.0


With npm
npm install
npm run dev
With yarn
yarn add
yarn dev

You should be able to visit localhost:8000 in your browser.

How do I run npm run create-data with keys?

  • To update site data you need to provide a couple of keys in a file called secrets.json.
  • You must create your own secrets.json in the root directory of the repo.
  • Visit to get your keys.

This command creates site data in ./build/data.json

npm run create-data

How do I deploy my own to production?

  • Site is hosted on Heroku.
  • You can deploy your own with your own heroku account and remote.
heroku login
heroku git:remote -a next-expo
git push heroku master
You can’t perform that action at this time.