Of the 21 local cases, 11 are in Samut Sakhon, followed by seven in Bangkok and three in Samut Prakan.
The five cases from overseas include four Thais returning from Myanmar, Sweden, Lebanon and Norway, and a Qatari national from their own country.
Meanwhile, 112 patients have recovered and been discharged.
As of Thursday, the number of confirmed cases in Thailand had risen to 28,889. Of them, 25,787 had been contracted locally, including 16,070 found via proactive testing, while 3,102 were returnees.
So far, 27,548 people have recovered and been discharged, 1,247 are still being treated, and the death toll remains unchanged at 94.
According to Worldometer, as of 10am, the number of confirmed cases globally has risen to 129.43 million (up by 639,599), of whom 104.38 million have recovered, 22.23 million are active cases (96,368 in severe condition) and 2.82 million have died (up by 12,249).
Thailand ranks 116th on the global list of most cases, which is topped by the US with 31.16 million, followed by Brazil at 12.75 million, India at 12.22 million, France at 4.64 million and Russia at 4.54 million.