A gunman opened fire at a nursing home in the small town of Carthage in North Carolina at 10am this morning, killing at least six people and wounding several others, police said.

Carthage police chief, Chris McKenzie, told several television stations that the gunman was also injured before being apprehended by police after the shooting at Pinelake Health and Rehab centre. A police officer was also hurt.

Gretchen Kelly, spokeswoman at FirstHealth Moore regional hospital, said six people were brought to the hospital from the nursing home about 60 miles southwest of Raleigh. Kelly said two of the injured died at the hospital, but it was not clear if those two were among the six initially reported dead by police.

Kelly said two other patients had been discharged, while two were still being treated. She would not release further details on the injuries or conditions of those hospitalised.

McKenzie said the gunman was not a patient at the nursing home, but did not offer any further details on what the gunman's motive might have been.

Carthage is a small town of approximately 1,800 people in the North Carolina Sandhills, an area popular among retirees and home to several noted golf courses, including the famed Pinehurst resort and its course that regularly hosts the US Open.

A nursing home website said the facility that opened in 1993 has 110 beds, including 20 for those with Alzheimer's disease.

Pinelake Health and Rehab was last inspected in May, and the review resulted in an overall five-star or "much above average" rating from federal Medicaid officials.