React hero section components

Animated hero sections you can drop into any React project. One command installs the source into your repository, and every line stays yours to edit.

Built with the stack you already ship

React
Next.js
TypeScript
Tailwind CSS
Framer Motion
Vite
Astro
React
Next.js
TypeScript
Tailwind CSS
Framer Motion
Vite
Astro

Hero section blocks you can copy

Each React hero section is one file: markup, motion and responsive Tailwind styling. Preview it live, then copy the full source into your project.

Animated backgrounds for hero sections

Full bleed layers that sit under your own headline and call to action. Reach for these when a ready made hero is close but not quite right.

Text animations for hero headlines

The headline is the part of a hero people actually read. Each of these animates type without touching layout, so nothing shifts while it settles.

How to choose a hero section

A hero section is the first block of a landing page: the headline, one line of supporting text, and the buttons people see before they scroll. Its job is to say what the product does and who it is for. A good hero section answers that in about two seconds. If a visitor cannot repeat your main point back after reading it once, no amount of animation will fix it.

Speed is the trade off most teams run into. Because the hero sits at the top of the page, it is usually the largest thing on screen, which makes it the part Google times when it scores how quickly your page becomes useful. A hero built with CSS and light motion appears as soon as the stylesheet loads. A hero built on 3D graphics has more work to do before the first frame shows, and on a mid range phone that pause is noticeable. Both kinds are in this library on purpose, so pick the one that suits the page.

If you are not sure which to use, start simple: a headline, a short sub line, two buttons, and a background that competes with none of them. That layout reads well on a laptop, stacks into one column on a phone with no extra work, and keeps the main button easy to find. Hero Section With Spotlight Beam and Hero Section With Radial Glow both follow it, and either one is a safe default for a product page or a landing page.

Reach for the bolder options when the product is itself visual. A design tool, a video editor, or a studio portfolio can carry a moving background, because the hero is demonstrating the thing being sold. A billing dashboard usually cannot, and the mismatch reads as decoration rather than proof. Choose the heavier hero only when the motion says something true about the product.

Whichever you pick, write the headline before you pick the design. Say what the product does in plain words rather than a slogan, keep the sub line to a single sentence, and give the page one clear next step. A plain hero section with a sharp headline converts better than an animated one wrapped around a vague promise.

Frequently asked questions

Run the Wensity CLI with the block slug, for example npx wensity@latest add hero-section-with-spotlight-beam --type block. The CLI copies the section into your codebase, installs the packages it needs, and matches it to your Tailwind theme. You can also open any hero on this page and copy the source straight from the Code tab. There is no provider to configure and no build step to add.
Anything that runs React. They are tested against Next.js 14 and newer in both the App Router and Pages Router, Vite 5 and newer, Remix and Astro. The only framework specific pieces are next/image and next/link, and each swaps out for a plain img tag and an anchor with no other changes.
It depends which one you pick, and the difference is significant. The CSS and Framer Motion heroes animate transform and opacity only, which stay off the main thread and cause no layout shift. The WebGL heroes built on Three.js load a renderer and compile shaders before their first frame, so they are heavier by nature. If a shader hero is your largest contentful paint element, put a static poster behind it or move it below the fold.
Yes. Wensity is not a runtime dependency. The CLI copies a real TypeScript file into your repository, so you own it outright. Edit the props, the copy, the Tailwind classes and the motion directly. Nothing overwrites your changes later and there is no package to keep upgrading.
Every hero ships with mobile, tablet and desktop breakpoints already set. Type sizes step down through Tailwind responsive prefixes and multi column layouts collapse to a single column below the medium breakpoint. There is nothing extra to configure.

Where to go next