The 22-year-old journalism student shoved his backside against the window of a low-slung double-decker train when staff forced him off in Lauenbrueck for travelling without a ticket, a spokesman for police in the northern city of Bremen said.
"It's a miracle he wasn't badly hurt," the spokesman said on Monday. "This sort of thing can end up killing you."
Instead, dangling by his trousers, the man got pulled along for about 200 metres, all the while managing to keep his legs away from the wheels of the train.
The ordeal ended when a passenger pulled the emergency brake. Rescue services were called in, causing rail services between Bremen and Hamburg to be suspended for over an hour, delaying 23 trains.
The man – unharmed except for cuts and bruises – now faces charges of dangerous interference in rail transport, insulting the train staff, and may face sizeable a compensation claim for the delays he caused, police said.
"He was full of remorse when I talked to him," the spokesman said. "And he advised others not to try the same thing."