A woman who brandished the severed head of a 4-year-old girl in her care outside a Moscow metro station has said she beheaded the child to avenge Muslims killed in the Kremlin's campaign of airstrikes in Syria.

In video posted online on Thursday and circulated by several prominent bloggers, 38-year-old Gulchekhra Bobokulova from Muslim-majority Uzbekistan gave her first detailed explanation of an incident that state TV channels chose not to report.

"I took revenge against those who spilled blood," Bobokulova told someone asking her questions off camera. "Putin spilled blood, planes carried out bombings. Why are Muslims being killed? They also want to live."