The invention relates to an ecological and environment-friendly coating for straw and a preparation method thereof. The coating comprises the following components in parts by weight: 20 to 25 parts ofan emulsion, 5 to 10 parts of natural colored sand, 2 to 3 parts of rubber powder, 0.2 to 0.5 part of cellulose ether, 0.6 to 1.5 parts of diatomite, 0.1 to 0.6 part of a mold-proof antibacterial agent, 2 to 4 parts of a coalescing agent, 2 to 4 parts of a dispersing agent, 4 to 5 parts of a defoaming agent, 2 to 3 parts of a thickener, 10 to 15 parts of deionized water, 4 to 5 parts of wood pulp, 0.5 to 0.7 parts of straw stalk with the length of 0.1 to 0.5 cm, 0.7 to 0.9 part of straw stalk with the length of 0.5 to 1 cm, and 0.8 to 1 part of straw stalk with the length of 1 to 1.5 cm. Compared with the prior art, after the coating is used, a more vivid bumpy texture can be created, and the coating has anti-cracking and heat insulation performances, has an archaistic ecological decoration performance, has the functions of humidifying, decomposing formaldehyde, killing bacteria and removing odor and preventing corrosion and mold, and is beneficial for improving indoor environment.