Kinetic UI
Back to Introduction
General

Comparison Table

A high-converting SaaS feature matrix with sticky headers and tooltips.

Quick Actions
CLI Installation
npx kinetic-ui-cli@latest add comparison-table
comparison-table

Compare Features

Basic

$0

For individuals.

Most Popular

Pro

$29

For professionals.

Enterprise

$99

For large teams.

Core Features

Projects
Up to 3
Unlimited
Unlimited
Collaborators
Number of users who can edit projects.
Up to 5
Unlimited
Analytics

Support & Security

Support
Community
Email (24h)
Dedicated (1h)
SSO
Single Sign-On integration.
Audit Logs

Overview

A pricing page is often the most important page on a SaaS website. The ComparisonTable component solves the most common UX problems with large feature matrices:

  1. Sticky Headers: As users scroll down through dozens of features, the plan names and prices stick to the top of the container, so they never lose context of which column they are evaluating.
  2. Pro Highlighting: Built-in support for highlighting the "Most Popular" plan column to drive conversions.
  3. Tooltips: Integrated hover tooltips for complex feature names without cluttering the layout.
  4. Responsiveness: Safely handles horizontal overflow on mobile devices so tables don't break your layout grid.

Usage

import { ComparisonTable } from "@/components/creative/comparison-table"

export default function Pricing() {
  const plans = [
    { id: 'free', name: 'Free', price: '$0' },
    { id: 'pro', name: 'Pro', price: '$29', isPopular: true },
  ]

  const features = [
    {
      category: 'Features',
      items: [
        { name: 'API Access', values: { free: false, pro: true } },
        { name: 'Bandwidth', values: { free: '10GB', pro: '100GB' } },
      ]
    }
  ]

  return (
    <section className="py-20 max-w-5xl mx-auto">
      <ComparisonTable plans={plans} features={features} />
    </section>
  )
}

Usage Guide

1. Import the Component

Import the component into your React or Next.js page:

import { ComparisonTable } from "@/components/creative/comparison-table";

2. Implementation Example

Render the component and customize its behavior by passing props:

import { ComparisonTable } from "@/components/creative/comparison-table";

export default function Example() {
  return (
    <div className="w-full flex items-center justify-center p-8">
      <ComparisonTable
        plans{/* value */}
        features{/* value */}
      />
    </div>
  );
}
Performance Notes
  • Uses CSS hardware acceleration via GPU transform-binds.
  • Damped interpolation minimizes paint-redraw flashes.
  • Tree-shakable import: only compiles elements requested.
Accessibility Notes
  • Full keyboard focus-ring navigation support (`Tab`/`Shift+Tab`).
  • ARIA roles mapped correctly for assistive screen readers.
  • Respects `prefers-reduced-motion` system toggles.