Kinetic UI
Back to Introduction
Text Effects

Breathing Text

Variable font typography that breathes autonomously or reacts dynamically to the user's cursor.

Quick Actions
CLI Installation
npx kinetic-ui-cli@latest add breathing-text

The BreathingText component leverages modern CSS Variable Fonts (font-variation-settings) to smoothly interpolate font weight and slant. Instead of snapping between fixed font weights (like 400 to 700), it interpolates seamlessly through every micro-weight in between.

Perfect for highly interactive hero sections where typography takes center stage.

Live Preview

Breathing Text
Autonomous Breathing Mode

Breathe In.

Installation

npx kinetic-ui-cli@latest add breathing-text

[!WARNING] This component requires the typeface you are using to be a Variable Font. Standard static fonts will ignore font-variation-settings. For example, Inter supports the wght (weight) and slnt (slant) axes natively.

Props

Usage Guide

1. Import the Component

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

import { BreathingText } from "@/components/creative/breathing-text";

2. Implementation Example

Render the component and customize its behavior by passing props:

import { BreathingText } from "@/components/creative/breathing-text";

export default function Example() {
  return (
    <div className="w-full flex items-center justify-center p-8">
      <BreathingText
        label="example"
        mode{/* value */}
        minWeight{10}
      />
    </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.