TypeScript vs Flow

TL;DR: choose TypeScript.

When evaluating a type checker for your JavaScript project, should you choose TypeScript or Flow?

On a high level, you should consider:

  • use
  • community
  • trend


Is the type checker easy to install and use? Is it well documented? Is it performant and fast? Ease of use has a direct correlation with adoption rate and productivity.


Is the type checker well supported by the community? Do other developers like using it? Can you easily find answers on Google or Stackoverflow? Is the project alive and actively maintained? Are issues and pull requests adequately addressed? Do other developers build tools, plugins, and integrations for the type checker? A strong community equates to a solid position in the industry.

What does the future like for the type checker? Are contributors releasing features and fixing bugs? Are companies and schools choosing one type checker over the other? This can determine the pool of developers who have experience with a type checker. Ask yourself, “Five years from now, which type checker will win?” By following the wrong trend, it will add technical debt that needs to be addressed later.


You should choose TypeScript because it has:

Also, Facebook, the creator of Flow, are migrating several of their big projects like Yarn and Jest to TypeScript. When the creators of Flow are moving off of Flow, that’s a red flag.

Check out the repositories:

Please support this site and join our Discord!