Police have opened fire on a man wielding a meat cleaver after he allegedly attacked an off-duty police officer.

The suspect, 32-year-old Akram Joudeh, struck a police officer in the face with the meat cleaver outside Penn Station near Madison Square Garden around 5pm local time, NBC New York reports.

Mr Joudeh was trying to remove a wheel clamp from a car not far from the station, then fled from officers on foot after pulling an 28cm meat cleaver from his waistband, police said.

An initial attempt to taser him failed. When he mounted the front grille of a marked police car, a detective in civilian clothes attempted to subdue him.

Police opened fire 18 times after the off-duty officer sustained a six-inch gash from his temple to his jaw.

The area has been shut down by police. (Supplied)

Police said they are refusing to rule out terrorism as a possibility at this stage in the investigation.

"At this point, the initial radio run was (for) criminal mischief," said department chief James O'Neill, who is poised to take over as New York police chief.

"As part of our investigation, nothing is off the table."

Asked by reporters whether it was necessary to fire 18 shots in a busy area, O'Neill replied: "Keep in mind that he had just attacked an off-duty officer who has a 6-inch gash on his face and he has a 11-inch cleaver".

The off-duty officer was taken to hospital where he is in a serious condition and is being treated for non-life threatening injuries.

Another four officers were taken to hospital to be treated for trauma.

Mr Joudeh, has reportedly been arrested 15 times in the past, is in hospital in a critical but stable condition.

On August 27 he was arrested after he was discovered carrying knives near a Synagogue.