The present disclosure relates to an antimicrobial coating on a surface, a method for preparing and uses of the same. In particular it relates to a process for preparing an antimicrobial coating on a surface, the process comprising the steps of: a) providing a surface; b) coating a metal oxide or a metal hydroxide on the surface in the presence of a solvent in a hydrothermal synthesis step to form a coated surface having a plurality of nanostructures; c) optionally drying the coated surface, wherein said nanostructure is preferably in nanopillar structure. The coating of the present application exhibits excellent antimicrobial activity against different types of microorganism, such as bacteria and yeast. The nanostructures are able to exert stress to the microorganism, and therefore controlling or killing them.