We discuss the problem of designing unambiguous programmable discriminators for any $n$ unknown quantum states in an $m$-dimensional Hilbert space. The discriminator is a fixed measurement which has two kinds of input registers: the program registers and the data register. The program registers consist of the $n$ states, while the data register is prepared among them. The task of the discriminator is to tell us which state stored in the program registers is equivalent to that in the data register. First, we give a necessary and sufficient condition for judging an unambiguous programmable discriminator. Then, if $m=n$, we present an optimal unambiguous programmable discriminator for them, in the sense of maximizing the worst-case probability of success. Finally, we propose a universal unambiguous programmable discriminator for arbitrary $n$ quantum states. We also show how to use this universal discriminator to unambiguously discriminate mixed states.