Guide ยท Choosing a starter

Vanilla HTML template or React starter? When plain files win

React and Tailwind starters are a great fit for some projects and overkill for others. Here is a plain look at when a vanilla HTML, CSS and JavaScript template is the better starting point, when it is not, and how to decide.

Short answer: if your site is mostly content (a landing page, portfolio, launch page or small shop front) and you want to edit files and upload them, start with plain HTML. If you are building an app with lots of shared, changing state, or your team already lives in React, start with a framework.

By OutOfThisWorld Studios · Published 25 October 2026

Plain files win

Pick a vanilla HTML template when…

Most marketing and portfolio sites fall into this group.

  • The site is mostly content. Landing pages, portfolios, product launches, event pages and small business sites are text, images and a few interactive bits. Plain HTML handles that directly.
  • You want to upload files and be done. A vanilla template runs on any static host, shared hosting or an FTP folder. There is no build output to generate first.
  • Someone else will edit it later. A client, a marketer or a future you can open index.html, change a heading and save. No Node.js, no package install, no dev server.
  • It should keep working with little upkeep. With no npm dependencies there are no packages to update, no breaking major versions and no lockfile to maintain.
  • You need it live today. No project setup, no config files. Edit the copy, swap the images, upload.

A framework wins

Pick a React starter when…

These are real reasons, not habits.

  • It is really an app. Logged-in dashboards, editors and tools with a lot of shared, changing state are where components and a framework earn their keep.
  • Your team already works in React. If the code review, tooling and hiring are built around React, a starter in that stack fits the way you already work.
  • Pages are generated from data. Hundreds of product or docs pages rendered from a CMS or an API are easier with routing, templates and data fetching built in.
  • You already have a component library. If your design system lives in React components, reusing them beats rebuilding the markup by hand.

Side by side

Vanilla HTML template vs React starter

A practical comparison for a typical marketing site. No benchmarks, just what you deal with day to day.

Scroll sideways on small screens.
 Vanilla HTML templateReact starter
SetupUnzip and open in an editor.Install Node.js and packages, then run a dev server.
Build stepNone. The files you edit are the files you upload.Usually yes, to bundle JS and generate production CSS.
HostingAny static host, shared hosting or FTP.Static host for a static export; a Node host if you use server rendering.
UpkeepNo packages to update.Dependencies and their updates to keep an eye on.
EditingAnyone who can read HTML.Someone comfortable with JSX, components and the toolchain.
InteractivityFine for menus, tabs, filters, carts, forms. Complex app state gets verbose.Built for complex, stateful interfaces.
Shared header and footerRepeated in each HTML file (or a server include).One component used on every page.

And Tailwind?

Tailwind is a styling choice, not a framework

Tailwind CSS is a set of utility classes. You can use it with plain HTML as well as with React. The catch for a small site is the toolchain: for production, Tailwind normally generates your CSS with a build step that scans your files for the classes you use. The browser CDN script is meant for prototyping, not live sites.

A vanilla template ships with an ordinary stylesheet instead. You change a colour or a spacing value in one CSS file and upload it. If you like utility classes and already run a build, Tailwind is a fine choice; if you want to skip the build, plain CSS is simpler.

Decide in two minutes

A quick checklist

  1. Will visitors log in or keep data in the page between visits? If yes, lean framework.
  2. Is most of the page text, images and calls to action? If yes, lean plain HTML.
  3. Who edits it after launch? If that person does not use Node.js, lean plain HTML.
  4. Where will it be hosted? If it is shared hosting or a simple static host, plain HTML uploads as is.
  5. Does your team already ship React every day? If yes, a React starter keeps everyone in one stack.

Mostly plain-HTML answers? Start with a template you can open and edit right away.

Questions

Common questions

Is a plain HTML site worse for SEO than a React site?

Not by itself. In a vanilla template the text is already in the HTML the server sends, so search engines can read it without running JavaScript. React sites can do the same with server rendering or static export. What matters more is the content, titles, headings and links.

Can I move a vanilla HTML template into React later?

Yes. The markup and CSS carry over: you split the page into components and rename attributes such as class to className. Starting plain does not lock you in.

Does plain HTML mean no JavaScript?

No. Vanilla means no framework, not no scripts. Menus, theme switchers, filters, carts and form validation are ordinary JavaScript in the browser.

What is the catch?

Repetition and scale. Shared parts such as the header and footer live in every HTML file, and complex app-like state takes more hand-written code. For a content site that is a small price; for an app it is a reason to use a framework.