Draft: This page is not complete.

The <ident> CSS data type denotes an arbitrary string used as an identifier.


The syntax of <custom-ident> is similar to CSS identifiers (such as property names), except that it is case-sensitive. It consists of one or more characters, where characters can be any of the following:

  • any alphabetical character (A to Z, or a to z),
  • any decimal digit (0 to 9),
  • a hyphen (-),
  • an underscore (_),
  • an escaped character (preceded by a backslash, \),
  • a Unicode character (in the format of a backslash, \, followed by one to six hexadecimal digits, representing its Unicode code point)

Note that id1, Id1, iD1 and ID1 are all different identifiers as they are case-sensitive. On the other hand, as there are several ways to escape a character, toto\? and toto\3F are the same identifiers.


Valid identifiers

nono79      	A mix of alphanumeric characters and numbers
ground-level	A mix of alphanumeric characters and a dash
-test       	A dash followed by alphanumeric characters
--toto      	A custom-property like identifier
_internal   	An underscore followed by alphanumeric characters
\22 toto    	A Unicode character followed by a sequence of alphanumeric characters
bili\.bob   	A correctly escaped period

Invalid identifiers

34rem   	It must not start with a decimal digit.
-12rad  	It must not start with a dash followed by a decimal digit.
bili.bob	Only alphanumeric characters, _, and - needn't be escaped.
'bilibob'	This would be a <string>.
"bilibob"	This would be a <string>.


Specification Status Comment
CSS Values and Units Module Level 4
The definition of '<ident>' in that specification.
Editor's Draft
CSS Values and Units Module Level 3
The definition of '<ident>' in that specification.
Candidate Recommendation

Browser compatibility

As this type is not a real type but a convenience type used to simplify the definition of other CSS syntax.

See also