CSS Cursor Playground - Online Preview All Pointer Styles
Hover over tiles to see every CSS cursor value in action. Quick visual reference for choosing the right UI feedback.
UD5 Toolkit
Hover over each box to preview — click to copy the CSS code
Everything you need to know about CSS cursor styles
cursor property in CSS specifies the type of mouse cursor to display when pointing over an element.
It allows developers to enhance user experience by providing visual cues — for example, using pointer for clickable elements,
text for selectable text, or not-allowed for disabled actions. There are over 30 standard cursor values available across modern browsers.
auto, default, none,
pointer, grab, grabbing, various directional resize cursors (n-resize, se-resize, etc.),
zoom-in, zoom-out, and more. Additionally, you can use custom images via the url() function.
:hover pseudo-class combined with the cursor property. For example:.my-button:hover { cursor: pointer; }url() function: cursor: url('custom-cursor.png'), auto;auto or pointer) as the final fallback.
Supported formats include .png, .cur, and .svg. Keep images small (ideally 32Ă—32px or less) for best performance.
grab displays an open hand cursor âś‹, indicating that an element can be grabbed (draggable but not currently being dragged).
grabbing displays a closed fist cursor ✊, indicating that an element is actively being dragged.
A common UX pattern is to use grab as the default state and switch to grabbing during the drag operation (via JavaScript events like mousedown / touchstart).
cursor: pointer is the standard choice — it displays the familiar hand pointer 👆.
For elements that trigger help tooltips, use cursor: help (arrow with question mark).
For context menus, use cursor: context-menu. Always ensure the cursor matches user expectations to provide intuitive navigation.
cursor: none makes the mouse cursor invisible when hovering over the element.
This is commonly used in immersive experiences like full-screen videos, games, or custom cursor implementations where the default cursor would be distracting.
Use with caution: hiding the cursor can confuse users. Always provide a clear way to restore visibility (e.g., pressing Escape or moving to a different area).
grab and grabbing were added later and may not work in very old browsers (e.g., IE11 and below).
The zoom-in and zoom-out cursors are also well-supported in modern browsers. Always test your target browsers,
and provide sensible fallbacks using the cascade (e.g., cursor: grab, -webkit-grab, default;).
cursor: not-allowed đźš« to visually indicate the element cannot be interacted with.
For draggable items that cannot be dropped in a certain zone, use cursor: no-drop. Both provide clear visual feedback that the action is unavailable.
auto, which lets the browser determine the appropriate cursor based on the context.
For example, auto displays a text cursor over text, a pointer over links, and the default arrow over plain elements.
If you want to explicitly reset to the standard arrow cursor regardless of context, use cursor: default.
Hover over tiles to see every CSS cursor value in action. Quick visual reference for choosing the right UI feedback.
Unified input demo: see pressure, tilt, and type from any pointer. Compare pointerType values. Essential for drawing apps.
Browse a curated set of button hover animations. See each effect live and copy the CSS. Minimalist collection.
Create animations that progress with scroll position. Experiment with animation‑timeline and view‑timeline. Cutting‑edge CSS.
See every touch point with coordinates, radius, and force on your mobile device. Debug gestures with live overlay.
Enter a JSON pointer expression (/foo/bar) to extract a value from your pasted JSON. Debug nested objects quickly.
Simple interactive eye dominance test: hold up a virtual dot and see which eye stays aligned. Educational.
View every standard emoji in a searchable grid. Hover to see a larger preview. Click to copy. Updated with Unicode 16.
Click to get a randomly generated unique abstract icon (geometric pattern). Download as SVG. For placeholder avatars and designs.
Click to get a randomly generated, unique abstract icon (geometric pattern). Download as SVG. For placeholder avatars and designs.
Flip a virtual coin to make a decision or settle a dispute. Realistic animation and fair random outcome. Simple, fast, and always available.
Click to get a randomly generated, unique favicon. Download as .ico or SVG. For when you need a quick icon.
Drop a PDF and see its embedded metadata: author, title, creation date, and more. No content is uploaded; pure browser PDF parsing.
Click on any bone in the human skeleton to see its name and learn about it. Rotatable 3D‑like view. Study aid.
Enter student names and desks layout, then scramble periodically. Print new seating chart.
Click to get a random element and a short story about its discovery and uses. Fascinating science.
Generate a random 4‑panel comic sketch with simple stick figures and funny dialogue. Just for laughs. Canvas.
Generate a hilarious, historically accurate insult by combining words from Shakespeare's works. Thee shall laugh.
Get a random quote from Shakespeare's works with play and character attribution. Copy in beautiful typography.
Generate a temporary webhook URL (mock) and view the JSON payloads sent to it. Great for testing integrations locally.
Get a catchy, Product Hunt‑style tagline for your side project. Like 'Uber for left shoes'. Instant creativity.
Build a complete Event structured data with performer, location, and dates. Get Google‑ready JSON‑LD for tickets.
Paste two JSON objects and see a highlighted diff showing what was added, removed, or changed. For API testing.
Play Hangman where the words are element names. Learn the periodic table while having fun. High score localStorage.
Write a fragment shader and see the result rendered on a full‑screen quad. For WebGL learners. Local compilation.
Generate a single line from famous public‑domain poems. Great for creative writing prompts or daily inspiration.
Get a random clever or Shakespearean insult. Perfect for friendly banter. No profanity, just wit. All random.
Enter a keyword or author to find classic quotes from public domain works. Inspiration tool.
A curated collection of riddles. Load one per day with a button to reveal answer. Clean, simple, no tracking. Sharpen your mind.
Pick a color palette and the tool shows sample images that match it. Great for moodboard and brand inspiration. Static dataset.