CSS Cursor Playground

Interactive reference for all standard CSS cursor properties. Hover to test and click to copy the CSS code. Perfect for users needing a css mouse pointer.

How to use CSS Cursor Playground

  1. 1

    Browse the grid of available cursor properties.

  2. 2

    Hover over a block to test what the cursor looks like on your system.

  3. 3

    Click a block to preview it in the test area.

  4. 4

    Hover over the test area and click the copy button to get the CSS code.

Frequently Asked Questions

Will these look the same on all computers?

Generally yes, but the exact graphical icon is determined by the user's operating system (Windows, Mac, Linux).

Detailed Guide

The CSS cursor Property

The cursor CSS property controls what the mouse pointer looks like when a user hovers over an element. It's one of those tiny yet impactful details that communicates affordance — it signals to the user what's interactive, what's draggable, what's resizable, and what's not.

Get it right and the interface feels intuitive. Get it wrong (using pointer everywhere, or forgetting to change the cursor on draggable elements) and users feel confused without being able to articulate why.


All Standard Cursor Values

The CSS spec defines over 30 cursor keyword values. Most developers know default, pointer, and not-allowed — but the full set is much richer:

General Interaction Cursors

CSS ValueWhen to Use It
defaultThe normal arrow cursor. Use for non-interactive page content.
noneHides the cursor entirely. Use sparingly — for fullscreen games or custom implementations.
pointerThe hand with pointing finger. Use for clickable links and buttons.
waitThe spinning wheel or hourglass. Signals the app is processing.
progressLike wait but indicates background processing — the user can still interact.
not-allowedA circle with a slash. Makes the "no" gesture clear for disabled elements.
helpArrow with a question mark. Use on elements with tooltips or help text.

Text and Selection Cursors

CSS ValueWhen to Use It
textThe I-beam. Normally applied automatically to <input> and text nodes, but you may need it on custom elements.
vertical-textI-beam rotated 90°. For vertical text layouts common in East Asian typography.
crosshairFine cross hairs. Use in color pickers, canvas drawing tools, or selection regions.

Resize and Drag Cursors

CSS ValueDirection
n-resizeNorth (upward) resize
s-resizeSouth (downward) resize
e-resizeEast (rightward) resize
w-resizeWest (leftward) resize
ne-resizeNortheast (top-right) resize
nw-resizeNorthwest (top-left) resize
se-resizeSoutheast (bottom-right) resize
sw-resizeSouthwest (bottom-left) resize
ew-resizeBidirectional horizontal resize
ns-resizeBidirectional vertical resize
nesw-resizeDiagonal bidirectional
nwse-resizeDiagonal bidirectional
col-resizeColumn width adjustment
row-resizeRow height adjustment
all-scroll...

Looking for a more detailed deep-dive and advanced tips?

Read Full Article on our Blog