CSS Cursor Reference

Every CSS cursor keyword and pattern, with a runnable snippet and a “use this when” note. Bookmarkable for the next time you forget the difference between grab, move, and all-scroll.

cursor: <keyword>

All standard CSS system cursor keywords

Reference list of every system cursor keyword: default, none, context-menu, help, pointer, progress, wait, cell, crosshair, text, vertical-text, alias, copy, move, no-drop, not-allowed, grab, grabbing, all-scroll, col-resize, row-resize, n-resize, e-resize, s-resize, w-resize, ne-resize, nw-resize, se-resize, sw-resize, ew-resize, ns-resize, nesw-resize, nwse-resize, zoom-in, zoom-out.

About this reference

CSS exposes more than thirty system cursor keywords plus a url() form for custom cursors. This reference covers each one — what it looks like, when to use it, and the gotchas that make custom cursors silently break in Safari or fall back to auto in Firefox. Pages are short on purpose: open the one for the keyword you forgot, copy the snippet, close the tab.

For a full step-by-step on shipping a custom cursor on a real website, see the Adding a custom cursor to a website with pure CSS tutorial. For game-engine cursors, see the game dev hub.