I’ve stayed at a variety of hotels in and around Amsterdam – generally speaking I’ve been more at the budget end of the market because it’s so damn expensive. Basically, there’s not enough hotel rooms to cater for the sheer numbers of tourists so the cost increases as the demand goes up.
If you look hard enough you can find some bargains – many of the cheapest hotels are near the Red Light District off Warmoestraat. It’s a safe enough area as it’s so busy, and some of the hotels are perfectly reasonable. On the other hand, some are not – I’ve stayed at some absolute hellholes, so do your tripadvisor research thoroughly before booking! One of the better medium-range hotels I’ve stayed at is Die Port van Cleve, a stones throw away from Dam Square and with a lovely old-fashioned bar.
My advice is to stay outside the city centre and use the fantastic public transport to get into town – you get far more quality for your money the further out you go. The area around Sloterdijk station has plenty of excellent 3 and 4* hotels for the price of a pokey 1* place in the city centre. Trams and trains to the centre are cheap and frequent – indeed Tram Line 2, running past many of the cities major landmarks including the Rijksmuseum to Lelylaan station has been named as one of the worlds best tram lines! I’ve stayed at an excellent hotel near Lelylaan – the Corendon Vitality Hotel and Spa, for around £100 a night.
My highest recommendation though is to stay outside the city completely. Haarlem is 15 minutes away by train (trains run every 7/8 minutes until the early hours) and is a beautiful little city in it’s own right. There are plenty of good quality hotels for half the price of an equivalent hotel in Amsterdam, and a return train trip to Amsterdam is under 10 euros.
The best place I’ve stayed though is in Zaandam, a small town around 10 minutes by train from the city centre. Not only is the Inntel Hotel in Zaandam very luxurious, featuring a superb bar/restaurant and a pool, it’s also one of the oddest looking hotels you’re ever likely to stay in – constructed in the style of old Dutch houses piled on top of each other (it’s the cover photo of this article)! Prices start from around £80 per night. For more on Haarlem and Zaandam, look here.
Finally, you could look for an Air BnB outside Amsterdam. For my June 2018 trip to Utrecht I found a quirky little place in Breukelen – 20 minutes from Amsterdam and 10 minutes from Utrecht on the train – for £50 a night.