12+ stunning custom cursor effects for modern websites
Try live demos Β· Copy code snippets Β· Zero dependencies
- π― 12 Unique Cursors - Dot Ring, Glow Orb, Magnetic Snap, Crosshair, Particle Trail & more
- π¨ Rainbow Colors - Each cursor has its own vibrant color scheme
- π Live Demos - Try every cursor interactively before using
- π¦ Copy & Paste - Get HTML, CSS, JavaScript, and React code
- π Zero Dependencies - Pure vanilla JavaScript implementations
- π± Responsive - Automatically disabled on mobile devices
- βΏ Accessible - ARIA labels and semantic HTML
- π SEO Optimized - Complete meta tags and structured data
Live Site: custom-cursors.tech
| Cursor | Color | Description |
|---|---|---|
| π΅ Dot + Ring | Blue | Classic two-layer cursor with smooth trailing |
| π Glow Orb | Purple | Soft glowing orb with luminous trail |
| π Magnetic Snap | Pink | Snaps toward interactive elements |
| π Crosshair | Green | Precision targeting with animated lines |
| π Particle Trail | Yellow | Leaves fading particles as you move |
| π§‘ Morphing Blob | Orange | Organic shape-shifting animation |
| π©΅ Spotlight | Cyan | Radial light revealing effect |
| π Water Ripple | Teal | Expanding ripple rings on movement |
| β€οΈ Text Label | Red | Custom text following cursor |
| βͺ Clean Ring | White | Ultra-minimal single ring |
| π’ Pulse Ring | Emerald | Pulsing outer ring animation |
| π Neon Crosshair | Violet | Full-viewport glowing lines |
# Clone the repository
git clone https://github.com/devkunal2812/Custom-Cursors.git
# Navigate to project
cd Custom-Cursors
# Install dependencies
npm install
# Run development server
npm run devOpen http://localhost:3000 in your browser.
- Click "Code" button on any cursor
- Choose your format: HTML/CSS/JS or React
- Copy the code snippets
- Paste into your project
<!-- HTML -->
<div id="cursor-dot"></div>
<div id="cursor-ring"></div>/* CSS */
body { cursor: none; }
#cursor-dot {
position: fixed;
width: 10px;
height: 10px;
background: #60a5fa;
border-radius: 50%;
pointer-events: none;
z-index: 99999;
transform: translate(-50%, -50%);
}
/* ... more styles */// JavaScript
const dot = document.getElementById('cursor-dot');
document.addEventListener('mousemove', e => {
dot.style.left = e.clientX + 'px';
dot.style.top = e.clientY + 'px';
});
// ... more code- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: CSS Modules
- Fonts: Google Fonts (DM Sans, DM Mono, Syne)
- Deployment: Vercel / Netlify ready
Custom-Cursors/
βββ app/
β βββ layout.tsx # Root layout with SEO metadata
β βββ page.tsx # Main page with structured data
β βββ sitemap.ts # Dynamic sitemap generator
β βββ globals.css # Global styles
βββ components/
β βββ Header.tsx # Site header
β βββ Hero.tsx # Hero section
β βββ CursorGrid.tsx # Cursor cards grid
β βββ CursorCard.tsx # Individual cursor card
β βββ DemoZone.tsx # Interactive demo area
β βββ CodeModal.tsx # Code snippet modal
β βββ CursorWrapper.tsx # Cursor effect wrapper
β βββ Footer.tsx # Site footer
βββ data/
β βββ cursors.ts # Cursor definitions & code
βββ types/
β βββ cursor.ts # TypeScript types
βββ public/
β βββ robots.txt # SEO robots file
β βββ manifest.json # PWA manifest
βββ package.json
Edit data/cursors.ts:
{
id: 'dot-ring',
name: 'Dot + Ring',
accent: '#60a5fa', // Change this color
// ...
}- Add cursor definition to
data/cursors.ts - Include
init()function with cursor logic - Provide CSS, HTML, JS, and React code snippets
- β Comprehensive meta tags
- β Open Graph (Facebook/LinkedIn)
- β Twitter Cards
- β
Structured Data (JSON-LD)
- WebApplication schema
- BreadcrumbList schema
- FAQPage schema
- β Semantic HTML
- β ARIA labels
- β robots.txt
- β Dynamic sitemap
- β PWA manifest
SEO Score: 91/100 π
| Browser | Version |
|---|---|
| Chrome | β Latest |
| Firefox | β Latest |
| Safari | β Latest |
| Edge | β Latest |
| Opera | β Latest |
Note: Custom cursors are automatically disabled on mobile/touch devices.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-cursor) - Commit your changes (
git commit -m 'Add amazing cursor') - Push to the branch (
git push origin feature/amazing-cursor) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by modern web design trends
- Built with β€οΈ using Next.js
- Fonts from Google Fonts
- Icons and design patterns from the community
Kunal - @devkunal2812
Project Link: https://github.com/devkunal2812/Custom-Cursors
If you found this project helpful, please give it a β on GitHub!
- Add more cursor effects (12+ total)
- Create individual cursor detail pages
- Add documentation page
- Add video tutorials
- Implement cursor customizer tool
- Add dark/light theme toggle
- Create npm package for easy installation
- Add cursor performance metrics
- Build cursor animation timeline editor
Made with π by Kunal | Visit: custom-cursors.tech