
The React team has officially deprecated the Create React App, once recommended as an easy way to get started, following breakage with the recently released React 19.
Create React App (CRA) was released in 2016 to address the challenge of building a React application from scratch, but since 2021 has received little maintenance. The React community has known for years that it was not recommended, but lack of clarity over its deprecation meant that beginner users still tried to use it.

The team has now formally declared that “today we’re deprecating Create React App for new apps, and encouraging existing apps to migrate to a framework,” noting that the project currently has no active maintainers.
The trigger for this post was a GitHub issue in which Mark Erikson, a maintainer for the Redux state management library, stated that users attempting to use CRA following the release of React 19 would see errors from the NPM (Node Package Manager) tool, thanks to dependency issues caused by the automatic use of the latest available version. Erikson called this a “perfect storm or incompatibility.”
Although React users know not to use CRA, it still came up in searches for how to get started, partly thanks to legacy documentation that is still online. Erikson noted numerous reports of beginners running into the errors and posting for help on sites such as Reddit. There was nothing to indicate to those users, browsing through those posts for help, that they should not use CRA, he said, and the current documentation does not present a clear alternative other than the advice to use a framework instead, such as Next, Remix, Gatsby or Expo. These all add complexity, he said, and were not a direct equivalent to the “basic client-only” single page application that CRA created. Erikson recommended Vite as the closest equivalent.
The team has responded by loudly deprecating CRA, fixing the compatibility issue, and creating new documentation on getting started. Users who use CRA will see a message that create-react-app is deprecated and this is also now flagged on the GitHub repository and on the official CRA website.
The issue touches on some contentious issues, such as whether React has become too complex, and whether Next.js gets overly favoured as the officially recommended framework.
What was wrong with CRA? Limitations included lack of a routing library, lack of a data fetching library, lack of code-splitting to optimize performance, and more, the team said, so that it was not suitable for a production application. In order to fix the issues, CRA would need to be evolved into a full framework, but this would be a waste of time since there are many existing frameworks that solve the same problems.
The revised documentation on creating a react app recommends Next.js first, and React Router with Vite second. There is also a steer towards Expo for React Native applications.
Erikson though was correct to say that none of these solutions match the simplicity of CRA, despite its limitations.