Cursor Types Explained: What Every Pointer Shape Means

Cursor Stories

Cursor types are the different pointer shapes your computer shows as you move across a screen: arrow, hand, text bar, busy wheel and more. This guide lists each one, what it means, and the CSS value that websites use to ask for it.

Cursor or pointer: what is the difference?

In everyday talk, "cursor", "mouse pointer" and "pointer" all mean the small image that follows your mouse. Strictly, a cursor is the on-screen marker for where input happens, and a pointer is the marker your mouse moves. Most people use the words as one.

The CSS language adds a twist. It has a property called cursor, and one of its values is called pointer. That value does not mean "any pointer". It means the shape used over links, usually a hand.

The shape changes to tell you what a click, a drag or a typed key will do. A quick glance at the cursor is a small hint from the interface, and it works without any words.

Table of common cursor shapes

The table below follows the CSS cursor keywords documented by MDN. The exact picture depends on your operating system and browser, so the "Shape" column describes the typical look.

ShapeNameWhere you see itCSS value
ArrowDefaultEmpty areas of a page, most of the desktopcursor: default
Pointing handLink pointerOver links and clickable itemscursor: pointer
Thin vertical bar (I-beam)TextOver text you can select or editcursor: text
Hourglass, watch or spinnerWaitThe program is busy and you cannot use the interfacecursor: wait
Arrow with a small spinnerProgressThe program is busy, but you can still use itcursor: progress
Thin crossCrosshairPicking a spot, such as in image or drawing toolscursor: crosshair
Four-way arrowsMoveOver something that can be movedcursor: move
Open handGrabOver an item you can drag, such as a mapcursor: grab
Closed handGrabbingWhile you are dragging that itemcursor: grabbing
Circle with a slashNot allowedOver a disabled button or a forbidden dropcursor: not-allowed
Arrow with a question markHelpOver items that have help informationcursor: help
Magnifier with a plusZoom inOver an image you can enlargecursor: zoom-in
Magnifier with a minusZoom outOver an image you can shrinkcursor: zoom-out
Left-right arrowHorizontal resizeOn the left or right edge of a resizable boxcursor: ew-resize
Up-down arrowVertical resizeOn the top or bottom edge of a resizable boxcursor: ns-resize
Diagonal arrow, top-right to bottom-leftDiagonal resizeOn two of the four corners of a window or boxcursor: nesw-resize
Diagonal arrow, top-left to bottom-rightDiagonal resizeOn the other two cornerscursor: nwse-resize
Left-right arrows with a barColumn resizeOn a column border in a tablecursor: col-resize
Up-down arrows with a barRow resizeOn a row border in a tablecursor: row-resize
Thick crossCellSelecting table or spreadsheet cellscursor: cell
Arrow with a small menuContext menuWhen a context menu is availablecursor: context-menu

Busy cursors: wait versus progress

These two are easy to mix up. According to MDN, wait means the program is busy and you cannot interact with the interface. progress means it is busy in the background, but you can still interact.

The picture also varies by system. MDN notes that wait is sometimes an hourglass or a watch. On a modern system you may see a ring or wheel that spins instead.

Hand versus arrow

The arrow says "I am pointing at the page". The hand says "this thing is a link". Designers rely on that change so you know where to click before you click.

The open and closed hands are a different pair. They belong to dragging: open means you can grab, closed means you are holding.

Other values worth knowing

  • copy: something is to be copied.
  • alias: a shortcut or alias is to be created.
  • no-drop: an item may not be dropped here.
  • all-scroll: you can scroll in any direction.
  • vertical-text: vertical text can be selected.
  • auto: the browser picks the shape from the context.

What is a hotspot?

Cursor vs pointer on ILOVE-CURSOR

Every design on ILOVE-CURSOR is made of two images. The cursor image is the normal state, shown over empty space and text. The pointer image is shown when you hover over links and buttons.

That mirrors the table above: the cursor replaces the default arrow, and the pointer replaces the link hand. Many designs make the two images a matched pair, such as a face for the cursor and an object it holds for the pointer.

Here is one example. The Zeus design pairs a bearded head with a lightning bolt, so you can compare the two states side by side.

God Zeus cursor
God Zeus

You can browse more designs in the full collections list, or read how to use the extension.

Related reading: if a design does not show up where you expect it, see custom cursor not working: fixes. Chromebook users can start with changing the cursor on a Chromebook. For a softer style, try cute aesthetic cursors, or add some color with the Christmas cursors advent countdown.

Sources