A reversible automaton is a finite (possibly incomplete) automaton in which each letter induces a partial one-to-one map from the set of states into itself. We give four non-trivial characterizations of the languages accepted by a reversible automaton equipped with a set of initial and final states and we show that one can effectively decide whether a given rational (or regular) language can be accepted by a reversible automaton. The first characterization gives a description of the subsets of the free group accepted by a reversible automaton that is somewhat reminiscent of Kleene's theorem. The second characterization is more combinatorial in nature. The decidability follows from the third