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 four 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.
Korean Air evacuates plane at Japan's Haneda airport after engine smoke
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.
Drone forces hour-long closure of Dubai airport
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.
Shots fired at Love Field airport in Dallas
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.
#BREAKING Suspected explosion reported at Pudong Airport in #Shanghai , injuries feared pic.twitter.com/OaGNCNxnDQ
— CGTN (@CGTNOfficial) June 12, 2016
LIVE:The explosion occurred near the island of Philippine Airlines Terminal T2 C counter.#ShanghaiPudongairport pic.twitter.com/NJtNsO8FD8
— Scarlet (@jolan_zhao) June 12, 2016
COMMENTS (7)
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ