A tree automaton is a system (Q, f1, …, fk, F) where Q is a set of states, f1, …, fk are operations on Q of arbitrary finite index, and F ⊆ Q is a set of final states. The input to a tree automaton is a tree structure and thus the behavior of a tree automaton is a set of trees. These automata are generalizations of ordinary automata, in which all f's are unary. An algorithm for constructing a minimal tree automaton is given.