Skip to main content
Lab Grimoire
TW EN
Coffee
dev-tools

border-beam

A lightweight React component that renders an animated light-beam border effect around any child element. Implemented with CSS @property for GPU-accelerated animation with no JavaScript animation loop. Auto-detects dark/light theme, 20+ customizable props. 566 stars in 9 days, MIT licensed.

Best For

Frontend developers who need animated border effects for specific elements in React applications. Specifically:

  • Anyone building React/TypeScript applications that need visual "active state" or "in progress" indicators
  • Developers who want to add visual hierarchy to Card, Dialog, or Input components without touching existing styles
  • Dashboard or SaaS frontend developers who need low-cost UI state enhancement
  • Tailwind CSS users whose animation components need to fit into an existing design system

If you need full-page background animations or complex motion orchestration, this is a UI component, not an animation framework. If you just need a specific element to look active, border-beam is a few lines of code.

How I Actually Use It

You have seen the animated light-beam border effect on Vercel, Linear, and Raycast landing pages. The visual language is "this element is active, important, worth clicking." border-beam packages this effect as a React component. npm install border-beam, wrap any child element, done.

The technical decision is worth knowing about: pure CSS @property implementation, GPU accelerated, no JavaScript animation loop. On dashboards with many dynamic elements, this avoids unnecessary CPU overhead.

The 20+ props cover what you'd expect: size (sm/md/line), colorVariant (colorful/grayscale/ocean/sunset), theme (auto/dark/light), duration, intensity, active state control, with complete TypeScript type support. It auto-detects the child element's border-radius, so you don't need to manually align corners.

566 stars in 9 days confirms demand for this visual effect. Browser compatibility: Chrome 85+ / Safari 15.4+ / Firefox 128+, covering the modern mainstream.

image

Where It Is Strong

  • <BorderBeam> wraps any child element, auto-adapts to border-radius, no modification to existing styles
  • CSS @property, GPU accelerated: No JS animation loop, minimal performance overhead
  • Dark/light theme auto-detection works without additional configuration
  • Active state control is programmatic. Start and stop in code, which makes it a good fit for agent execution states or in-progress task indicators
  • MIT licensed, installs in one command

Where It Fails

  • CSS @property requires Chrome 85+ / Safari 15.4+ / Firefox 128+. Older browsers and some WebView environments are out.
  • Only one visual metaphor: the orbiting beam. If your design needs different active state visuals, look elsewhere.
  • 9 days old: Maintenance stability, long-term API stability, and framework version compatibility all need time to prove out.
  • Purely a UI component, no application outside of frontend rendering contexts.

Pricing, Difficulty, and Risk

Free and open source under MIT. Low difficulty: npm install border-beam, wrap the target element in React, set a few props. No API costs, no external service dependencies.

The main risks are CSS @property browser compatibility in legacy environments and the repository's long-term maintenance stability (too early to know).

Verdict

A component that does one thing well. You know the feeling you want when you see that animated beam border; border-beam is the lowest-friction path to bringing that feeling into your React application.

If you need visual reinforcement for agent execution states, active session indicators, or similar "this element is live" UI patterns, it's worth the install.

Source