Timed automata are state-machine-like structures used to model real-time systems. Since their invention in the early 1990s, a number of often subtly differing variants have appeared in the literature; one of this article’s key contributions is defining, highlighting, and reconciling these differences. The article achieves this by defining a baseline theory of timed automata, characterizing each variant both syntactically and semantically, and giving, when possible, syntactic and semantic conversion to and from the baseline version. This article also surveys various extensions to the basic timed-automaton framework.