The counter-increment CSS property increases or decreases the value of a CSS counter by a given value.

Note: The counter's value can be reset to an arbitrary number using the counter-reset CSS property.


/* Increment "my-counter" by 1 */
counter-increment: my-counter;

/* Decrement "my-counter" by 1 */
counter-increment: my-counter -1;

/* Increment "counter1" by 1, and decrement "counter2" by 4 */
counter-increment: counter1 counter2 -4;

/* Do not increment/decrement anything: used to override less specific rules */
counter-increment: none;

/* Global values */
counter-increment: inherit;
counter-increment: initial;
counter-increment: unset;

The counter-increment property is specified as either one of the following:

  • A <custom-ident> naming the counter, followed optionally by an <integer>. You may specify as many counters to increment as you want, with each name or name-number pair separated by a space.
  • The keyword value none.


The name of the counter to increment.
The value to add to the counter. Defaults to 1 if not specified.
No counter must be incremented. This is used as the default value, or to cancel an increment in more specific rules.

Formal definition

Initial valuenone
Applies toall elements
Computed valueas specified
Animation typediscrete

Formal syntax

[ <custom-ident> <integer>? ]+ | none


Incrementing named counters

h1 {
  counter-increment: chapter section 2 page;
  /* Increases the value of the chapter and page counters by 1,
     and the section counter by 2 */


Browser compatibility

BCD tables only load in the browser

See also