A police spokesman said one suspect, in his 20s, had been detained and that he had described the incident as an "act of terror". The spokesman declined to elaborate.
The incident happened shortly after midnight on Monday (local time) in a popular tourist area of Harajuku, near Meiji Shrine, in central Tokyo.
"I can't believe it, this is a place I'm familiar with, so it's very shocking," said Tatsuhiro Yaegashi, a 27-year-old worker in the area.