The epicentre of the 6.1 magnitude quake was just inside Sainyabuli province in Laos and was felt in the surrounding area, including nearby northern Thailand.
High-rise buildings in Thailand’s capital, over 600km away, reportedly rocked for half a minute. Lights swung from ceilings in videos posted online.
Residents of Chiang Mai, northern Thailand’s biggest city, felt prolonged shaking but saw no major damage.
There were no immediate reports of casualties.
Residents near the epicentre, just 31km away from parts of Thailand’s Nan province, said they had felt aftershocks.
The shallow earthquake was only 10km below the surface and struck around 6.50am, according to the Thai Meteorological Department.
Chiang Mai resident Petchnoi Osathaphan said the long shaking left her feeling dizzy.
“There are three new cracks at the baseboards and close to the windows,” she said of her house near the Mae Ping River.
Vibrations were also felt in Vietnam’s capital, Hanoi.
#earthquake tremors #Bangkok 6:55 am for 30 seconds. Our chandelier swinging as we ate breakfast, kids were scared. From 9th floor, we went downstairs but the slow rolling feeling has stopped. #Thailand pic.twitter.com/Z3Sd7YbknL— Paul Risley (@pauldrisley)November 21, 2019
A series of earthquakes have hit southeast Asia over the past few months, including a 7.4 magnitude tremor in Indonesia last week.
The US Geological Survey described the first October quake as strong and shallow, having a depth of just 13km.
Shallow quakes tend to cause more damage than deeper ones.
Additional reporting by agencies