CSS Cursor Demo - 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, explore, and copy all 34 standard CSS cursor styles. Click any card to copy its value instantly.
Move your mouse around this area
Hover me (button) I'm a link Drag zoneSelect a cursor style below to preview it here
cursor property defines the mouse cursor appearance when hovering over an HTML element. It accepts predefined keyword values like pointer, grab, text, or custom image URLs. It's an essential tool for improving UX by providing visual feedback about interactive elements.
grab displays an open hand, indicating an item is available to be grabbed. grabbing shows a closed fist, signaling the item is currently being dragged. Best practice: use grab on the draggable element and switch to grabbing during the active drag state via JavaScript (e.g., on mousedown / touchstart).
context-menu may render differently on Windows vs. macOS. The zoom-in and zoom-out values are supported in all modern browsers. Always test across platforms for consistent UX.
url() function: cursor: url('path/to/image.png'), auto;. Supported formats include PNG, SVG, and CUR. Always provide a fallback keyword (like auto or pointer) in case the image fails to load. You can optionally specify hotspot coordinates: cursor: url('icon.png') 10 20, pointer; where 10 and 20 are x/y offsets from the top-left corner. Maximum recommended cursor size is 128Ă—128 pixels for cross-browser compatibility.
cursor: none completely hides the mouse cursor when hovering over the element. This is commonly used in full-screen video players, kiosk applications, immersive games, or custom cursor implementations where you want to replace the native cursor with a custom-rendered one via JavaScript/Canvas. Use with caution — hiding the cursor can disorient users if there's no clear visual alternative.
:hover pseudo-class: .my-button:hover { cursor: pointer; }. You can apply cursor styles to any HTML element. For more complex scenarios, use JavaScript to dynamically change element.style.cursor based on application state — for example, switching between grab and grabbing during drag operations.
auto lets the browser determine the appropriate cursor based on the element and context — for example, it shows the text cursor over selectable text and the default arrow over non-interactive elements. default forces the standard arrow cursor regardless of context. Use auto when you want the browser's smart behavior; use default to explicitly override it.
cursor property is not animatable via CSS transitions or keyframes — it changes instantly. However, you can simulate animated cursors by using an animated GIF or APNG file as a custom cursor via cursor: url('animated.gif'), auto;, or by using JavaScript to rapidly swap between different cursor values for a frame-by-frame effect.
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.
Create animations that progress with scroll position. Experiment with animation‑timeline and view‑timeline. Cutting‑edge CSS.
Browse a curated set of button hover animations. See each effect live and copy the CSS. Minimalist collection.
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.
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.
Simple interactive eye dominance test: hold up a virtual dot and see which eye stays aligned. Educational.
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 favicon. Download as .ico or SVG. For when you need a quick icon.
Flip a virtual coin to make a decision or settle a dispute. Realistic animation and fair random outcome. Simple, fast, and always available.
Write a fragment shader and see the result rendered on a full‑screen quad. For WebGL learners. Local compilation.
Drop a PDF and see its embedded metadata: author, title, creation date, and more. No content is uploaded; pure browser PDF parsing.
Generate a hilarious, historically accurate insult by combining words from Shakespeare's works. Thee shall laugh.
Build a complete Event structured data with performer, location, and dates. Get Google‑ready JSON‑LD for tickets.
Click on any bone in the human skeleton to see its name and learn about it. Rotatable 3D‑like view. Study aid.
Generate a temporary webhook URL (mock) and view the JSON payloads sent to it. Great for testing integrations locally.
Generate a random 4‑panel comic sketch with simple stick figures and funny dialogue. Just for laughs. Canvas.
Enter student names and desks layout, then scramble periodically. Print new seating chart.
Get a random quote from Shakespeare's works with play and character attribution. Copy in beautiful typography.
Write a pattern and test it against URLs instantly. See which groups match. Learn the modern alternative to regex for routing. Works entirely in the browser.
Paste two JSON objects and see a highlighted diff showing what was added, removed, or changed. For API testing.
Get a random clever or Shakespearean insult. Perfect for friendly banter. No profanity, just wit. All random.
Click to get a random element and a short story about its discovery and uses. Fascinating science.
See a literal illustration of an idiom and guess the phrase. Fun for English learners.
Get a catchy, Product Hunt‑style tagline for your side project. Like 'Uber for left shoes'. Instant creativity.
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.
Generate random JSON data with customizable fields (users, products, orders). Useful for frontend mocking. All local.