Fish Eye Cursor
A cursor magnification effect that distorts or enlarges nearby imagery for galleries, portfolios, and visual product sections.

Overview
Fish Eye Cursor turns pointer movement into atmosphere: the pointer magnifies nearby content.
It belongs on creative homepages, portfolios, campaign pages, and brand-led experiments where the cursor can become part of the visual language. It does not belong on dashboards, checkout, forms, or utility-heavy product screens.
The production risk is precision. The cursor layer must stay disposable, disable on coarse pointers, preserve visible focus, and never hide click intent. If removing the effect breaks the page, the cursor has been promoted past its pay grade.
Install Command
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Usage Code
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Component Code
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
This is a Pro Effect.
You can preview it now. Upgrade to Pro for instant install access.
Example Production Use Case
Use this as cursor-system implementation guidance. Verify the shipped component export, pointer-tracking model, coarse-pointer disablement, z-index behavior, focus safety, cleanup, and reduced-motion handling before relying on exact props, defaults, imports, or installation steps.
Best Used For
- Image-led portfolios where hover can magnify optional visual detail.
- Galleries where inspection is useful but the same content still works without a pointer.
- Fish Eye Cursor gives pointer movement a brand role without hiding core controls or content.
Not For
Not for dashboards, checkout, forms, dense product UIs, or any flow where precision beats atmosphere.
Performance Budget
Use one cursor layer, throttle movement with requestAnimationFrame, avoid full-screen filter effects, and disable Fish Eye Cursor on coarse pointers.
Accessibility and Mobile
Disable on coarse pointers and preserve normal touch behavior. Cursor-only reveals must have visible or tap-accessible alternatives.
Common Mistakes
- Letting Fish Eye Cursor cover focus rings or clickable controls.
- Forgetting to disable the effect on coarse pointers.
- Hiding useful content behind mouse-only movement.
Changelog
v1.2.0
Jul 24, 2026v1.1.0
Jul 22, 2026v1.0.0
Jun 4, 2026Props
| Prop | Type | Default | Description |
|---|---|---|---|
bulgeEffect | number | 1 | Strength of the fish-eye bulge distortion. |
duration | number | 0.125 | Smoothing duration for bulge strength changes. |
smoothness | number | 0.083 | Cursor-follow smoothing duration. |
mouseInteractive | boolean | true | Enables cursor-driven fish-eye distortion. |
Frequently Asked Questions
When should I use Fish Eye Cursor?
Use it when an image-led page needs the pointer to magnify nearby content on hover not on utility flows.
Does Fish Eye Cursor work on mobile?
Disable it on coarse pointers with CSS and JS pointer queries, then provide native touch behaviour.
Can Fish Eye Cursor reveal important content?
Only when the same content is visible or accessible without pointer movement. Cursor-only reveals are not suitable for critical information.
How should Fish Eye Cursor behave around links and buttons?
It must preserve native click meaning, visible focus, hover states, and modal layering.
What should reduced motion do for Fish Eye Cursor?
Disable trails, lag, ripples, and pointer-following motion, then return to the native cursor.
Request a Custom Cursor Animation
Need a custom effect? Tell us what to create.



