I caratteri sono oggetti che rappresentano un elemento di un testo (ad esempio una stringa o un flusso di testo).
I caratteri sono rappresentati come #\ seguito dal loro nome (ad esempio #\A, #\9, #\!, #\Space).
Oltre a char=, char< e char>, esistono anche char<= e char>=, oltre a versioni che non distinguono maiuscole e minuscole, come char-equal e char-greaterp.
I caratteri possono essere convertiti da e verso i numeri interi. (Ma non sono numeri interi: sono un tipo distinto.)
La specifica lascia all'implementazione l'ordinamento esatto dei caratteri.
Questo significa che bisogna stare attenti a non dare per scontato (char> #\a #\A) o ipotesi simili sull'ordinamento dei caratteri.
Lo standard specifica invece che (char< #\A #\Z), (char< #\a #\z) e (char< #\0 #\9) devono essere veri.
Common Lisp ha diversi predicati per determinare a quale «tipo» appartiene un dato carattere, come alphanumericp, digit-char-p e graphic-char-p.
Esistono anche upper-case-p e lower-case-p per determinare se il carattere è maiuscolo o minuscolo.