The blast at Pudong Airport occurred near the check-in counter of Terminal Two, according to a statement on the operator’s official microblog.
It said three passengers were injured and police had sealed off the immediate area.
The official Xinhua news agency, citing the Shanghai Airport Authority, said an apparent “home-made explosive” blew up. The agency earlier reported that the blast was caused by fireworks.
The Xinmin Evening News said there were two explosions within five seconds. They originated from two pieces of luggage placed about 15 metres (49 feet) apart, the local paper said.
Online video clips showed dense grey smoke rising to the ceiling of the cavernous terminal, and paramilitary security forces rushing into the building immediately after the incident.
Photos posted online by those claiming to be witnesses showed police keeping people back from the scene and abandoned luggage littering the floor.
The incident came as people returned home after a public holiday and just days before Thursday’s opening of a Disney theme park in Shanghai.
Fireworks are readily available in China for celebrations such as weddings and the opening of new businesses, as well as for the traditional lunar new year.
There have been several cases in China of disgruntled individuals setting off explosions or starting fires in revenge for perceived wrongs.
In 2013 a wheelchair-bound man from southern China detonated a homemade bomb at Beijing international airport in a protest at alleged police brutality.
The man, Ji Zhongxing, was later sentenced to six years in jail.
Last year an unemployed man set off an explosion at a public park in the eastern province of Shandong, killing himself and another person and wounding 24.