Lomonaco and Kauffman developed knot mosaics to give a definition of a quantum knot system. This definition is intended to represent an actual physical quantum system. A knot n-mosaic is an n x n matrix of 11 kinds of specific mosaic tiles representing a knot or a link. The mosaic number m(K) of a knot K is the smallest integer n for which K is representable as a knot n-mosaic. In this paper, we establish an upper bound on the mosaic number of a knot or a link K in terms of the crossing number c(K). Let K be a nontrivial knot or a non-split link except the Hopf link. Then m(K) <= c(K) + 1. Moreover if K is prime and non-alternating except 6(3)(3) link, then m(K) <= c(K) - 1.