React comparison section components

A comparison section has to put two products on the same rows. These blocks print the limits, the prices, and the missing marks in one grid so the visitor is not left reconstructing a spreadsheet.

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

Comparison section blocks you can copy

Each block is one file covering the products and the feature rows. Preview it live, then copy the source into your project.

Surfaces that sit beside a comparison

Pricing and FAQ from the same library, for the page that has already named the competitor and now has to print the invoice or the last objection.

How to choose a comparison section

A comparison section puts columns on the same rows. Comparison Section With Simple Pricing and Comparison Section With Compare Plans still belong here: the columns are your own seats, with prices in the header. The other blocks name a competitor, a model, or a graph, not a SKU.

Comparison Section With Leader Graph is the bar chart. Four bars sit on one plot. Logos, names, and scores sit under the axis. Lumen is the mock lead on the right with a blue gradient bar. Helio, Vale, and Kite sit in muted bars to the left. Use it when the argument is a gap you can draw in four columns.

Comparison Section With Simple Pricing is the grouped plan sheet. Simple pricing sits on the left. Pay annually and pay monthly share a switch, and the prices tick with it. Free, Plus, and Pro print a tagline, a per user price, and an underlined start link. Plus keeps a sky wash. Pro keeps a sand wash and a corner flag. Usage, Essentials, and Advanced group the rows. Checks are green. Missing seats get a cross.

Comparison Section With Compare Plans is the compact seat sheet. Three of your own plans share a tight grid under a Compare plans heading. Prices and buttons sit in the header. The featured seat is marked in purple type with a solid purple button, not a column outline. Checks, crosses, and short limits fill the rows. Keep it small enough that all three seats stay on one row.

Comparison Section With Features Matrix is for three named products on one grid. Compare plans sits in the first cell. Google, Microsoft, and Amazon sit as wordmarks. Each row names a limit on the left and prints a value in each product column. The stronger value is set in brighter type. A circular X marks a product that does not include the row.

Comparison Section With Benchmark Matrix is the score sheet. It sits in a square frame and follows light and dark. Four models share horizontal hairlines only. A blue column frames RuneAI from header to last row. Winning cells take a blue fill, including scores outside that column. The reasoning row stacks two captions in the same cell, no tools and with tools.

Replace the demo names before this ships. Plan prices, wordmarks, and model labels are samples. So are the eval titles and the figures. Swap them for the numbers you can stand behind on a call.

Keep the hairline grid. Thick borders turn the table into a dashboard widget. Keep the outer frame square. The winning cell should read first. Matching every column in the same white type removes the decision the layout was drawn to make.

Do not follow this block with another comparison table. One matrix is already a decision. The next section should be a pricing receipt, a FAQ, or the checkout. A second grid of checkmarks usually means the team could not agree which competitor to name.

Wire the numbers you can stand behind on a call. Empty custom cells that still say Custom are worse than hiding the row.

Frequently asked questions

Run the Wensity CLI with the block slug, for example npx wensity@latest add comparison-section-with-features-matrix --type block. The CLI writes the component into your codebase and pulls in the packages it needs. You can also open any comparison section on this page and copy the source from the Code tab. There is no provider to wire up.
Use Comparison Section With Simple Pricing when your own seats need grouped rows and a billing switch. Use Comparison Section With Compare Plans when three seats fit a compact button sheet. Use Comparison Section With Leader Graph when four products should share a bar chart and one of them is yours. Use Comparison Section With Features Matrix when named products have to share the same rows. Use a pricing card stack when the visitor needs three cards more than a grid.
The features matrix tops out at three products. The benchmark matrix can hold four models because the cells are scores, not sentences. Five columns of numbers still turn into a spreadsheet. If you need a vendor catalog, this is the wrong section.
Yes. The matrix keeps its columns and scrolls horizontally on a phone so the feature names stay readable. Test the longest label at a 360 pixel width before you ship.
After the product has proved itself, usually under a feature section or a short pricing band. It should not be the first screen. By the time someone is reading limits they have already decided the category is in the set. One matrix, then a FAQ or checkout.

Where to go next