51TsTypeScript33BbBabel19FwFlow15CsCoffeeScript8CjClojureScript7ReReason5PsPurescript143VVue.js132RReact49NgAngular27BbBackbone23PrPreact21EmEmber16HaHyperapp13InInferno49RdRedux19MxMobX16FxFlux13RyRelay11ApApollo49WpWebpack32PcParcel31GuGulp16RuRollup46Sksocket.io44ExExpress41MeMeteor39NxNext.js36GGatsby26KoKoa20SaSails12LbLoopback11HaHapi11FeFeathers7VnVulcan51PpPuppeteer41Jsjson-server39SbStorybook26JeJest18MoMocha17EzEnzyme17NmNightmare16AvAVA14JaJasmine13CyCypress10KaKarma79RnReact Native75EElectron38IoIonic35NwNW.js17NsNativeScript12WeWeex86DD362AxAxios53ThThree.js51JqjQuery44ChChart.js41MtMoment40LoLodash35EcEcharts32PtPrettier31Ananime.js27ImImmutable24UnUnderscore23MdModernizr19RxRxJS16RaRamda134BsBootstrap49AnAnt Design48MuMaterial UI45SuSemanticUI39EtElement28FdFoundation36GGatsby27HxHexo13VpVuePress7RsReact Static7MsMetalsmith51TsTypeScript33BbBabel19FwFlow15CsCoffeeScript8CjClojureScript7ReReason5PsPurescript143VVue.js132RReact49NgAngular27BbBackbone23PrPreact21EmEmber16HaHyperapp13InInferno49RdRedux19MxMobX16FxFlux13RyRelay11ApApollo49WpWebpack32PcParcel31GuGulp16RuRollup46Sksocket.io44ExExpress41MeMeteor39NxNext.js36GGatsby26KoKoa20SaSails12LbLoopback11HaHapi11FeFeathers7VnVulcan51PpPuppeteer41Jsjson-server39SbStorybook26JeJest18MoMocha17EzEnzyme17NmNightmare16AvAVA14JaJasmine13CyCypress10KaKarma79RnReact Native75EElectron38IoIonic35NwNW.js17NsNativeScript12WeWeex86DD362AxAxios53ThThree.js51JqjQuery44ChChart.js41MtMoment40LoLodash35EcEcharts32PtPrettier31Ananime.js27ImImmutable24UnUnderscore23MdModernizr19RxRxJS16RaRamda134BsBootstrap49AnAnt Design48MuMaterial UI45SuSemanticUI39EtElement28FdFoundation36GGatsby27HxHexo13VpVuePress7RsReact Static7MsMetalsmith51TsTypeScript33BbBabel19FwFlow15CsCoffeeScript8CjClojureScript7ReReason5PsPurescript143VVue.js132RReact49NgAngular27BbBackbone23PrPreact21EmEmber16HaHyperapp13InInferno49RdRedux19MxMobX16FxFlux13RyRelay11ApApollo49WpWebpack32PcParcel31GuGulp16RuRollup46Sksocket.io44ExExpress41MeMeteor39NxNext.js36GGatsby26KoKoa20SaSails12LbLoopback11HaHapi11FeFeathers7VnVulcan51PpPuppeteer41Jsjson-server39SbStorybook26JeJest18MoMocha17EzEnzyme17NmNightmare16AvAVA14JaJasmine13CyCypress10KaKarma79RnReact Native75EElectron38IoIonic35NwNW.js17NsNativeScript12WeWeex86DD362AxAxios53ThThree.js51JqjQuery44ChChart.js41MtMoment40LoLodash35EcEcharts32PtPrettier31Ananime.js27ImImmutable24UnUnderscore23MdModernizr19RxRxJS16RaRamda134BsBootstrap49AnAnt Design48MuMaterial UI45SuSemanticUI39EtElement28FdFoundation36GGatsby27HxHexo13VpVuePress7RsReact Static7MsMetalsmith

The State Of JavaScript

The JavaScript world could use a bit of classification.

In 2019 this survey helped us do just that, by collecting data from over 20,000 developers to identify current and upcoming trends.

Check out our results to find out which libraries developers want to learn next, which have the best satisfaction ratings, and much more.

Previous Years:

Help Spread the Word!

StateOfJS is Made by:

Raphaël Benitte

Creator of the Nivo JavaScript data visualization library as well as Mozaik, a tool for building beautiful dashboards.

Sacha Greif

Author of Discover Meteor and creator of VulcanJS, a React+GraphQL open-source framework.

Michael Rambeau

Creator of Best of JavaScript, a platform that provides insights and resources about JavaScript libraries.