The suspect had blood running down his face as he was taken into custody
A man armed with a knife has killed seven people and injured 10 others in central Tokyo, Japanese media say.
The incident occurred in the Akihabara district, a busy shopping area known as Electric Town that is popular with young people and tourists.
A suspect, said to be 25-year-old Tomohiro Kato, has been arrested.
Police spokesman Jiro Akaogi told reporters: "The suspect said he came to Akihabara to kill people. He said he was tired of life".
The dead include six men, ranging in age from 19 to 74, and a 21-year-old woman, Kyodo News said.
Reports say the suspect drove a rented truck into a crowd in the early afternoon and then began stabbing people at random.
The moments after the stabbings in Tokyo
James Slaymaker, a British man working in Japan, got to the area shortly after the stabbings. He described the scene to BBC News:
"As I walked down the street, I noticed there were a lot of police cars. I noticed there was a guy literally just lying there with tape on his eyes and blood pouring out of the side of him. I was appalled.
When I walked round the corner I saw a woman lying on the floor
"I could see carnage - bodies everywhere. Some were conscious, some were not, lying by the side of the road and on the road. There were people everywhere, a lot of onlookers."
Another eyewitness told Kyodo News: ''The man jumped on top of a man he had hit with his vehicle and stabbed him with a knife many times. Walking toward Akihabara station, he slashed nearby people at random.''
The Akihabara district specialises in electronic gadgets and video games and is especially popular with people interested in comic books and distinctive fashion.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.