Unambiguous automata are nondeterministic automata in which every word has at most one accepting run. In this paper we give a polynomial-time algorithm for model checking discrete-time Markov chains against ω-regular specifications represented as unambiguous automata. We furthermore show that the complexity of this model checking problem lies in NC: the subclass of P comprising those problems solvable in poly-logarithmic parallel time. These complexity bounds match the known bounds for model checking Markov chains against specifications given as deterministic automata, notwithstanding the fact that unambiguous automata can be exponentially more succinct than deterministic automata. We report on an implementation of our procedure, including an experiment in which the implementation is used to model check LTL formulas on Markov chains.Over infinite words, not only are UBA as expressive as non-deterministic Büchi automata [1], they can also be exponentially more succinct than deterministic automata. For example, for a fixed k ∈ N the language "eventually b occurs and a appears k steps before the first b" over the alphabet {a, b, c} is recognized by an UBA with k+1 states (shown on the left-hand side of Figure 1). On the other hand, a deterministic automaton for this language requires at least 2 k states, regardless of the acceptance condition, as it needs to store the positions of the a's among the last k input symbols. Languages of this type arise in a number of contexts, e.g., absence of unsolicited response in a communication protocol-if a message is received, then it has been sent in the recent past.The exponential succinctness of UBA relative to deterministic automata is also manifested in translations of linear temporal logic (LTL) to automata. The non-deterministic Büchi automata that are obtained from LTL formulas by applying the classical closure algorithm of [38,37] are unambiguous. The generated automata moreover enjoy the separation property:different states have disjoint languages. Thus, while the generation of deterministic ω-automata from LTL formulas incurs a double-exponential blow-up in the worst case, the translation of LTL formulas into separated UBA incurs only a single exponential blow-up. This fact has been observed by several authors, see e.g. [15,33], and adapted for LTL with step parameters [39,10].In the context of probabilistic model checking, UBA provide an elegant alternative to deterministic automata for computing probabilities of ω-regular properties on finite-state Markov chains. A polynomial-time model checking procedure for UBA that represent safety properties was given [4], while [15] gives a polynomial-time algorithm for separated UBA. However, separation is a rather strong restriction, and non-separated UBA (and even DBA) can be exponentially more succinct than separated UBA, see [8]. Furthermore, algorithms for the generation of (possibly non-separated) UBA from LTL formulas that are more compact than the separated UBA generated by the classical closure algorithm have been real...