Create React App (CRA) is Deprecated, Officially: What's Next?

Murtuzaali Surti
Murtuzaali Surti

• 3 min read

Updated On

Table of Contents

Create React App a.k.a CRA is a tool (setup tool I would say) which provides an opinionated architecture combining a set of tools required to configure, transpile JSX and bundle React.

React team announced the deprecation of Create React App on February 14, 2025. Before it was official, CRA was already considered a "no-longer-to-be-used" tool to build modern React applications. The disadvantages of using create-react-app kept increasing with the advent of new tools which were faster and efficient.

create react app deprecation warning

Source: github.com/facebook/create-react-app

Limitations Of Create React App (CRA)

One limitation of using "Create React App" is that whenever you want to have full control of the build process and do some advanced customizations to the bundler used by it i.e. Webpack, you have to eject the CRA. In other words, you are now out of the default setup of the CRA, and you now have to manually handle everything (that's a pain — not to mention rewiring packages like react-app-rewired and craco).

Find a complete list of Create React App limitations on the React Blog which includes data fetching, code splitting and more.

Alternatives

The alternatives of CRA are not only better but faster and efficient. I stopped using Create React App for my personal projects a long time ago and also migrated my old projects which were built using CRA to Vite. Yes, Vite is a worthy alternative to build and run React applications.

If you have a legacy application built using CRA, then I suggest you migrate to one of the below options as soon as possible, but note that it can take a while depending on the size of your project.

1. Vite

Vite uses Rollup and ESbuild to bundle the React application. It is much much faster than Webpack which is used by Create React App as a bundler. Also, Vite's configuration API is simple and easy to understand. Vite claims to be a framework agnostic tool which can be used to build any framework on top of it.

Why Vite? — vite.dev

2. Next.js

Next.js by Vercel is a full-fledged framework built on top on React which provides it's own routing, data fetching patterns, optimization techniques, bundler (turbopack), compiler and much more. With the introduction of Server Components, React kept pushing hard on using Next.js for building modern React applications because of its support and implementation of React Server Components.

If you want to build a complex React application with a focus on React Server Components and you are okay with the techniques and patterns used by Next.js, then you are good to go with it.

3. Expo

If you want to build cross-platform React applications involving React Native, then Expo is the way to go.

4. Tanstack

If you love Tanstack ecosystem, Tanner Linsley suggests using create-tsrouter-app which comes bundled with Tanstack router and React Query (Tanstack Query).

create react app deprecation warning

Source: bsky.app

Thoughts

In the deprecation blog released by the React team, they emphasized on using frameworks built on top of React which do things in their own opinionated way. I don't know if it's good or bad, but too much reliance on a framework can sometimes feel restrictive because you cannot do anything outside of which your framework allows you to.

That's why, for building small React applications, I would consider letting go of the overhead of frameworks and start with a tool like Vite, do routing with React Router, manage complex state with Redux Toolkit or Zustand, and implement data fetching with something like React Query (Tanstack Query).


How to Use DeepSeek-R1 AI Model: A Comprehensive Guide

Previous