They said at least five missiles hit the hospital in the town center and a nearby school, where refugees fleeing a major Syrian army offensive were sheltering.
A resident said another refugee shelter south of the town was also hit by bombs dropped by jets believed to be Russian.
Tens of thousands of people have fled to the town, the last rebel stronghold before the border with Turkey, from towns and villages where there is heavy fighting between the Syrian army and militias.
“We have been moving scores of screaming children from the hospital,” said medic Juma Rahal. At least two children were killed and ambulances ferried scores of injured people to Turkey for treatment, he said.
French charity Doctors Without Borders/Médecins Sans Frontières (MSF) said in a statement that at least eight staff were missing after four rockets hit a hospital that it supported in the province of Idlib in north western Syria.
Kurdish anti-government forces are advancing from the west and have been fighting anti-government insurgents on the of town, only a few kilometers away from the main Bab al Salam border crossing. The Syrian army is advancing from the south.
Both the Kurds and the army want to wrest control of that stretch of border with Turkey from the insurgents.
Russian bombing raids on rebel fighters are helping the Syrian army to advance toward Aleppo, the country’s largest city and commercial center before the conflict. If the army takes the city, it will by the Syrian government’s biggest victory of the war.