Skip to content

devkunal2812/Custom-Cursors

Repository files navigation

🎨 Kunal's Build - Custom Cursor Library

12+ stunning custom cursor effects for modern websites
Try live demos Β· Copy code snippets Β· Zero dependencies

Next.js TypeScript License PRs Welcome


✨ Features

  • 🎯 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

🎬 Demo

Live Site: custom-cursors.tech


🌈 Available Cursors

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

πŸš€ Quick Start

Installation

# 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 dev

Open http://localhost:3000 in your browser.

Using a Cursor in Your Project

  1. Click "Code" button on any cursor
  2. Choose your format: HTML/CSS/JS or React
  3. Copy the code snippets
  4. Paste into your project

Example: Dot + Ring Cursor

<!-- 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

πŸ› οΈ Tech Stack

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: CSS Modules
  • Fonts: Google Fonts (DM Sans, DM Mono, Syne)
  • Deployment: Vercel / Netlify ready

πŸ“ Project Structure

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

🎨 Customization

Change Cursor Colors

Edit data/cursors.ts:

{
  id: 'dot-ring',
  name: 'Dot + Ring',
  accent: '#60a5fa', // Change this color
  // ...
}

Add New Cursor

  1. Add cursor definition to data/cursors.ts
  2. Include init() function with cursor logic
  3. Provide CSS, HTML, JS, and React code snippets

πŸ” SEO Features

  • βœ… 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 Support

Browser Version
Chrome βœ… Latest
Firefox βœ… Latest
Safari βœ… Latest
Edge βœ… Latest
Opera βœ… Latest

Note: Custom cursors are automatically disabled on mobile/touch devices.


🀝 Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-cursor)
  3. Commit your changes (git commit -m 'Add amazing cursor')
  4. Push to the branch (git push origin feature/amazing-cursor)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • Inspired by modern web design trends
  • Built with ❀️ using Next.js
  • Fonts from Google Fonts
  • Icons and design patterns from the community

πŸ“§ Contact

Kunal - @devkunal2812

Project Link: https://github.com/devkunal2812/Custom-Cursors


⭐ Show Your Support

If you found this project helpful, please give it a ⭐ on GitHub!


πŸ—ΊοΈ Roadmap

  • 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

About

A modern collection of beautiful custom cursors for websites with interactive previews, smooth animations, and easy integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages