Getting React Set Up Without Wasting Time
React itself is free. It's an MIT-licensed open source library, so there is no cost, no license key, nothing to pay for. The confusion usually comes from people mixing up the core library with the tooling that wraps around it, or landing on pages that try to sell them something before they even see the actual React docs. The React package lives on npm as react and react-dom. You install it inside a project directory using any standard Node.js package manager. That is the download. There is no separate installer file, no zip to extract, no installer wizard. Here is how you actually do it: First, make sure you have Node.js installed. Version 18 or newer is what most current tooling expects. You can check by running node --version in your terminal. If it returns nothing, go to nodejs.org and grab the LTS build. Skip the older options. They cause dependency resolution headaches later.
Once Node is in place, create a folder for your project and run one of these commands depending on your setup. If you are starting fresh, the official Vite route is the least painful: npm create vite@latest my-app -- --template react That creates a folder called my-app, installs React, sets up a dev server, and configures build tooling in one shot. Then you move into the folder and run npm install followed by npm run dev. Your app is running locally. No payment, no account required, no trial period that expires.
If you are adding React to an existing project that already has a bundler, just run npm install react react-dom and import it where needed. That is it. The library is small. The install takes roughly 30 to 90 seconds on a normal connection. I ran into a specific issue last year when someone tried to follow a guide that told them to download React from a third-party CDN link and drop it into a static HTML file. The script loaded, but components would render blank on refresh. The problem was that they were loading React without ReactDOM and trying to call ReactDOM.createRoot on a script that did not include it. CDN entries sometimes split those two packages. I just switched them to use the npm workflow with a local build and the whole issue disappeared. It took about five minutes once I stopped chasing the wrong page.
Get the Full Details

What Actually Comes With React
The core package gives you JSX support through compilation, the component model, hooks, and the virtual DOM diffing logic. It does not include a router, a state management solution, or a testing framework. Those are separate packages. People often think they are installing everything at once when they are not. React Router, for example, lives at reactrouter.com and installs separately as @remix-run/react-router if you are on the newer version. For global state, you might pull in Zustand, Redux Toolkit, or Jotai depending on the scope. Each of those is also free. None of them require a license purchase. The build tools around React are where costs sometimes sneak in indirectly. Vite and webpack are free. But if you use something like Next.js for server-side rendering, the framework itself is free, though deployment hosting is not. That is infrastructure, not React. The framework will not charge you. Your hosting provider will.
Common Mistakes That Make People Think React Costs Money
There are a handful of websites that rank highly for queries like this and they are not official. Some are affiliate pages that push premium starter templates or paid UI component libraries. Others are outdated guides from 2019 that still circulate and reference create-react-app as the only option. Create-react-app is officially deprecated now and no longer recommended by the React team. Following old advice means dealing with outdated tooling, slower builds, and more friction than necessary. Another trap is downloading someone's personal repo labeled as "React full package" from GitHub. Those often bundle the core library but also include pre-configured paid component kits or analytics trackers. Stick to the official npm registry. npmjs.com/package/react is the source. Verified publisher is the React team. Anything else is a detour.
When React Setup Actually Fails and What to Do
Sometimes the install appears to work but the dev server refuses to start. This usually happens for one of three reasons. The first is a Node version mismatch. If you are on an older Node release, the latest React tooling may refuse to resolve dependencies. Upgrading Node typically fixes this immediately. The second is a corrupted node_modules cache. Deleting the folder and running npm install again from scratch resolves it in most cases. I have seen this happen after a failed interrupt during installation where the lock file gets partially written. The error messages are vague and unhelpful. Clearing everything and reinstalling is faster than debugging the lock file. The third is a conflict between package managers. Mixing yarn and npm in the same project causes resolution inconsistency. Pick one and stick with it. If a guide tells you to use yarn but your project was initialized with npm, run yarn install instead of switching your habits mid-project. Same result, different path.
What You Should Skip
Do not pay for a React boilerplate unless you have a very specific reason. Many of the paid templates on marketplaces are just create-react-app projects with some extra configuration layered on top. The configuration is publicly available. You can replicate it yourself in under an hour once you understand what each piece does. Do not use a CDN for anything beyond a quick prototype. CDN loading bypasses the build step entirely, which means no JSX compilation, no tree shaking, and no production optimization. If you ship that to anyone, the bundle will be larger and slower than it needs to be. The npm workflow gives you control over optimization from the start. There is also no reason to look for a "cracked" or "nulled" version of React. It is free. Anyone selling a premium version of the core library is either reselling documentation or bundling third-party components you could get elsewhere. The React core is not proprietary in a way that requires a license key.
The Realistic Timeline
If you follow the Vite approach on a machine with a stable internet connection, you are from zero to a running React app in about three to five minutes. Installation of Node, project creation, dependency install, and the first dev server launch. A full production build takes longer depending on your component count and asset size, but that is expected. The setup itself is fast. If you are migrating an older project from create-react-app to Vite, expect the migration to take somewhere between 30 minutes and two hours. The bulk of the time goes into adjusting import paths, replacing deprecated APIs, and updating the build configuration. The actual React code changes are minimal. Most of your application logic stays the same. One detail that trips people up is the difference between development and production builds. Running the dev server uses esbuild for fast HMR. It is quick but not optimized. When you run npm run build, Vite switches to Rollup for the final bundle. The output is minified, tree-shaken, and hashed for caching. If you skip the build step and serve the dev output directly, your app will work but performance will suffer noticeably in production. Always run the build before deploying.
The React documentation itself is free and it is the best place to verify anything you are unsure about. The guides are current, the examples are tested, and they do not push paid products. Use them as the primary reference rather than hunting through third-party tutorials that may be outdated or misleading.