Moroccans who leave their homes without wearing face masks now risk jail terms of up to three months and a fine of up to 1,300 dirhams ($126; £102), the government has said.
The new order takes effect on Tuesday for those allowed to go out during the coronavirus pandemic.
The decision was announced on Monday following a government meeting on how to control the epidemic, reports say.
Morocco is under a month-long public health state of emergency that started on March 19 and has so far reported 1,120 coronavirus cases and 80 deaths.
The face masks will be sold at a subsidised price of 0.8 dirhams ($0.08) per unit.
The country plans to increase daily production of face masks to near 6m next week from the current 3.3m, Industry Ministry spokesman Taoufiq Moucharraf said.