Create React App is Deprecated
Yesterday, February 14, 2025, the React Team officially announced the deprecation of Create React App (CRA) for new applications. Create React App, for those who don't know, was the official build tool used to create React applications.
Recently, I started a new series of tutorials on learning React JS. Because of this exact issue, I began with build tools—why we need them and how they work. The next part of these tutorials was supposed to focus on Create React App. Although starting a React application today seems straightforward, in React’s early days, setting up everything needed to write React code was a difficult task. To address this, Dan Abramov created Create React App in 2016, which was later adopted by the React team and the community as a boilerplate for starting React applications.
Why Deprecate It?
There are two main reasons why CRA is being deprecated:
1- There are no active maintainers.
2- The tool has limitations that modern React frameworks already solve.
As part of the deprecation announcement, the team highlighted several issues with CRA, including routing, data fetching, and code splitting, as well as:
Accessibility
Asset loading
Authentication
Caching
Error handling
Mutating data
Navigation
Optimistic updates
Progressive enhancement
Server-side rendering
Static site generation
Streaming
What’s Next?
From now on, it's recommended that you use a React framework to build new React applications. Although you can still use CRA, Vite, or Parcel to handle these tasks, you’ll quickly realize that it’s a difficult and tedious process. After all, CRA attempted to solve these problems before, but it still had significant limitations.
This category of tools that integrate build tools, rendering, routing, data fetching, and code splitting are known as “frameworks.” Or, if you prefer to call React itself a framework, you might call them “metaframeworks.”
Frameworks impose certain opinions about structuring your app to provide a much better user experience—just as build tools impose opinions to make tooling easier. This is why we started recommending frameworks like Next.js, React Router, and Expo for new projects.
Since frameworks now handle these challenges while also offering additional features to improve development and production, it’s best to use them for any new React project.