OpenSourceUIOpenSourceUIOpensource UI
GitHubTwitter/X
  1. Home
  2. Components
  3. Underlines
  4. Annotated Text
Back to UnderlinesComponents / Underlines

Annotated Text

Free Underlines React component — AnnotatedText. MIT licensed, copy-paste ready for Next.js and Tailwind CSS.

Hand-drawn text annotations — wavy underlines, highlights, arrows, brackets, and more. Pass variant and optional color to style any inline label or callout.

Preview

Wavy underlineCircled textHighlighted textSimple underlineStraight lineDotted underlineDouble underlineCrossed outArrow underline

Setup

How to use

Free for personal and commercial use. No UI attribution required. Include the MIT copyright notice when copying component source into your project. Read the MIT license.

  1. 1

    Run in your terminal:

    $npm install clsx tailwind-merge lucide-react
  2. 2

    Copy lib/cn.ts below. Skip if you already have cn().

  3. 3

    Copy the code below and create components/underlines/annotated-text.tsx in your project.

  4. 4

    Import and render:

    Example

    import { AnnotatedText } from "@/components/underlines/annotated-text";

    <AnnotatedText variant="wavy" color="text-purple-300">Wavy underline</AnnotatedText>
    <AnnotatedText variant="circle" color="text-cyan-200">Circled text</AnnotatedText>
    <AnnotatedText variant="highlight" color="text-yellow-100">Highlighted text</AnnotatedText>
    <AnnotatedText variant="underline" color="text-cyan-200">Simple underline</AnnotatedText>
    <AnnotatedText variant="line" color="text-orange-300">Straight line</AnnotatedText>
    <AnnotatedText variant="dottedUnderline">Dotted underline</AnnotatedText>
    <AnnotatedText variant="doubleUnderline">Double underline</AnnotatedText>
    <AnnotatedText variant="crossOut" color="text-red-400">Crossed out</AnnotatedText>
    <AnnotatedText variant="arrow" color="text-rose-300">Arrow underline</AnnotatedText>

lib/cn.ts

1
2
3
import { cn } from '@/lib/cn';
 
// Full source is available in the repository checkout.

components/underlines/annotated-text.tsx

1
2
// Full source: components/components/underlines/annotated-text.tsx
// The Cloudflare worker does not expose the source tree at request time.
PreviousNext

On this

page

Jump to a section on this page.

  • lib/cn.ts
  • components/underlines/annotated-text.tsx

Sponsor spot · demo preview

Logo

Your brand name

Your tagline or category

A short pitch about your product or service goes here. This is a preview of how sponsor cards will look in this sidebar.

Your call to action

This slot is available. Sponsor Opensource UI and reach developers browsing components every day.