Alistair Gallow targeted Coral bookmakers in Jarrow, South Tyneside, on 8 January, sparking a stand-off with police lasting several hours.
Appearing at Newcastle Crown Court via videolink from HMP Durham, he admitted four counts of false imprisonment and possession of a firearm with intent to cause fear of violence.
The 39 year old, of Percy Street, Jarrow, will be sentenced on 4 April.
He also admitted three charges of possession of a bladed article in relation to three knives, and one of possession of an offensive weapon, namely a knuckle duster.
Police were called to the bookmakers in Grange Road at 17:46 GMT.
All the hostages - two members of staff and two customers - were released by 20:45.
A man has admitted holding four people hostage during an armed siege.