How to use the cursor generator
- Choose a type: Built-in to pick a keyword, or Custom to design an SVG cursor.
- Built-in: hover the tiles to feel each cursor, then pick one from the menu. The highlighted tile is the one in your code.
- Custom: choose a shape, set its size, fill and outline colors, and pick a fallback keyword.
- Choose the scope: one element or the whole page.
- Export CSS, Tailwind or the SVG file.
Built-in cursor meanings
- pointer: links and clickable elements.
- text: selectable text and inputs.
- not-allowed: disabled actions.
- grab / grabbing: draggable items and while dragging.
- zoom-in / zoom-out: images that enlarge.
- progress / wait: work happening in the background or blocking.
- resize cursors (
col-resize,nwse-resize…): edges you can drag to resize.
Using cursors for their usual meanings helps people predict what will happen.
Worked examples
Example 1: an image gallery
Use the built-in zoom-in cursor on thumbnails that open a larger view. It’s instantly understood, and you don’t need a custom image.
Example 2: a drawing app
Use the custom Pen shape with your brand color and a white outline, with crosshair as the fallback. Apply it only to the canvas element, so the rest of the interface keeps normal cursors.
Example 3: a creative portfolio
Use Ring dot at 32px on hero areas. Keep the default cursor on text and controls, so people can still select text and see links clearly.
Tips
- Keep custom cursors to small areas where they add meaning.
- Always include an outline color that contrasts with the fill.
- Don’t hide the cursor (
cursor: none) unless you draw a replacement that is always visible.
Common mistakes
- No fallback. Without a keyword after the image, the whole
cursordeclaration is invalid and ignored. - The wrong hotspot. If the hotspot is at the corner of a ring cursor, clicks land in the wrong place. The generator places it on the center or the tip for each shape.
- Large cursors. Anything above 32px may be scaled or ignored, and it covers the content people are trying to see.
- Custom cursors over text. Keep the
textcursor on selectable text so people know they can select it.