Settings

Arrow
Start
End
{
  "placement": "outside",
  "position_area": "y-end",
  "align_self": "start",
  "justify_self": "anchor-center",
  "offset": 30
}

AnchorPop

GitHub

Create self-positioning popovers with native CSS—no JavaScript required

Try it

Drag the button to screen edges to see the popover follow and flip.
Play with the placement settings.

Usage

Make it pop! Make it float!

Built any of these components with AnchorPop in just a few lines of code

Hover over the to see the tooltip.

Select any text in this paragraph to see formatting tools appear above your selection.

Border Overlays

Hey! Great work on this project 👏

Annotations/ Highlights

const config = new AnchorPopConfig();

Inside Overlays

Image
Preview Cards

Hover to see details

Install

Option 1: Copy & Paste (Recommended)

Copy the components directly into your project for full control:

Option 2: NPM Package

Option 3: Visual Configuration

Use the settings panel above to visually configure your popover, then inspect the code and copy the configuration that works for you.

vs. Floating UI

Feature
AnchorPop
Floating UI
Implementation
Pure CSS
JavaScript
Real Arrows
Dynamic
Static
Placement Options
Outside
Inside
Overlay
Border
Outside
Directional Transitions
Built-in
Performance
No CLS
Instant positioning
No JS dependency
Initial layout shift
Requires JS calculation
Browser Support
() Chrome/ Edge 125+, Safari TP
All modern browsers

Roadmap

  • Svelte 5 Implementation
  • React Version
  • Vue Version
  • Vanilla JS Version
  • Animation Presets

Thank you