Loading…
Loading…
Create custom CSS cursors from PNG/SVG images. Set hotspot, size, and preview in real scenarios. Export as CSS, HTML, or Tailwind.
Light Background
Move cursor here to preview
Dark Background
Move cursor here to preview
Over Text
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
Interactive Elements
[data-cursor="custom"] {
cursor: auto;
}All native CSS cursor keywords — hover each to preview the cursor style.
Common questions about the Custom Cursor Generator.
Use the cursor property with a URL: cursor: url('/cursor.png') 0 0, auto. The two numbers are the hotspot coordinates (click point). This tool generates custom cursor CSS from uploaded images or built-in shapes, with adjustable size and hotspot.
PNG (32×32px) is the most compatible format. SVG works in modern browsers and scales cleanly. CUR/ANI are legacy Windows formats. Keep cursors under 128×128px — larger sizes may not render on all platforms. Most browsers support PNG and SVG cursors natively.
CSS doesn't support animated cursors natively (except the legacy .ani format on Windows). For animated cursors, use JavaScript to track mouse position and render a custom element that follows the pointer. Hide the real cursor with cursor: none and animate your replacement element.
Common issues: file path is wrong (check relative vs absolute), image is too large (max 128×128px in most browsers), fallback keyword is missing (always end with ', auto' or ', pointer'), or the hotspot coordinates are outside the image bounds. Also check that the image loads without CORS errors.