The Sunsetting of Create React App
On February 14, 2025, React officially deprecated Create React App (CRA), marking the end of an era for React developers. For years, CRA was the go-to tool for bootstrapping new React projects.
Why is Create React App Being Deprecated?
React ecosystem has evolved significantly since CRA’s introduction in 2016. Modern frameworks and build tools have surpassed CRA in both performance and flexibility. With no active maintainers and better alternatives available, the React team decided to retire CRA. The React team is encouraging developers to migrate to frameworks like Next.js or build tools like Vite.
Also because:
- CRA does not provide a routing system
- CRA lacks optimized data-fetching strategies
- CRA ships apps as a single JavaScript bundle, which can result in longer load times. Modern frameworks automatically handle code splitting
- CRA has lacked active maintainers
What now?
Starting today, developers installing Create React App will see a deprecation warning:
create-react-app is deprecated.
You can find a list of up-to-date React frameworks on react.dev
For more info see: react.dev/link/cra
CRA will still function in maintenance mode and has been updated to support React 19. However, no new features will be added, and developers are strongly encouraged to migrate to modern solutions.
How to Migrate Away from Create React App
You can visit the official guide at the React blog post here.
Final Thoughts
Our tip: If you're looking for the simplest and most efficient way to set up a new React project after Create React App's deprecation, React + Vite
is the way to go.
What are your thoughts on this change? Let’s discuss in the comments! 🚀
Top comments (27)
React + vite or react + next which one is more future secure?
Hello, Amir! I think it depends on your project’s needs.
React
+Vite
is awesome for fast development. It's the best choice for SPAs & smaller projects IMO. On the other hand,React
+Next
is best for scalability because of it's server-side rendering(SRR) and static generation(SSG) and built-in routing. I don't think you can go wrong whichever one you choose. Thanks for the comment 🚀For big projects nextjs, for quick testing or static pages vite
Agree @programordie
Definitely next js!!
It's sad that CRA is deprecated, but I'm excited to try Next.js and Vite for better one
Yes, it's sad. To be honest, I haven't used it in a long time. I remember using it when I started learning React.js. I always use React + Vite + Typescript. However, there is some nostalgia because the first React app I built was generated using CRA :(
I'm the same way. Using Next.js with TypeScript now, and React + TypeScript + Vite if Next.js isn't needed, but CRA still gives me nostalgia.
Now where does this leave react native?
Hello! I have good news for you 🙂
React Native remains unaffected by CRA's deprecaton because it has its own ecosystem.
Which is metro bundler
Yep
Thanks for sharing. Am currently using react + vite, it performance is outstanding and awesome.
You're welcome! Yes, it's performance is awesome you will see.
Im coming from NextJS (used at work for an e-commerce platform), and have to say I'm really liking the simplicity of react-router v7 over the vastly many concepts you have to know in nextjs.
Like for example?
I like that:
React router provides SSR with actions
NextJS has something similar to react-router's actions with
getServerSideProps
andgetStaticProps
, but I never managed to get the caching mechanism to work properlyVue.js is the future, thanks to react!
Hahaha, RIP React developers. Just kidding, of course
Just deprecate react already. Vue is the better
I like Vue, but what are the key things because you think it's better?
Tanstack start is something to keep your eye on.
Yes! I used it to implement a frontend for a big bank in Serbia and it's awesome! The only negative issues I had were the integration tests. They are not yet supported.
What about rsbuild?
If you prefer more flexibility, RSBuild is a good choice. If you prefer stability and larger ecosystem, go for Vite.
You may as well add Vue to Vite and ditch React altogether :-)
Yes, I like Vue.js too 🙂