Les symboles représentent un type de donnée unique en Common Lisp. Une caractéristique essentielle des symboles est qu'ils sont uniques, à savoir deux suites de caractères identiques dans le même programme (et dans le même paquetage), représentent le même symbole. Ceci n'est pas vrai pour les chaînes de caractères, par exemple. Pour les symboles, c'est une qualité essentielle, car en Common Lisp, ils sont utilisés pour nommer des variables, et le programmeur est habitué à ce que deux occurrences du même nom de variable référencent la même variable.
Pour tester si un objet Common Lisp est un symbole, utiliser le prédicat symbolp :
* *print-level*
NIL
* (symbolp *print-level*)
T
* *standard-output*
#<Synonym Stream to SYSTEM:*STDOUT*>
* (symbolp *standard-output*)
NIL
* (symbolp '*standard-output*)
T
*