The average cost of renting a room in the UK has risen £15 a month - or £180 a year - compared with last year.
That means renters are now paying £582 a month on average and £757 a month in London.
SpareRoom's Matt Hutchinson said: “House prices may have stalled but rents are on the up again."
The average cost of renting a room rose £11 a month outside London, and £32 a month in the capital, SpareRoom found.
"It’s no surprise London continues to show solid growth, but if this 4% rise is a reflection of what’s to come, we’ll see renters hit their affordability ceiling and be forced further out the capital, especially as Crossrail, when it’s finally complete, likely to drive rents up in the east and south east of London,” Hutchinson said.
The biggest percentage rise was for renters in Preston - where costs went up 8% to £378 a month on average - followed by Stockport, York and Wolverhampton where prices increased 7% compared with last year.
But it wasn't quite all bad news - with SpareRoom’s Rental Index showing five of the UK's top 20 towns and cities now cheaper than in 2018.
Tenant Fee Ban - what's changing for people moving home after June
Where's getting cheaper
The biggest drop in the cost of renting a room was in Southend-on-Sea, where average prices 5% to £498 a month.
The Essex town was followed by Scotland's Aberdeen, where prices dropped 3% to £375 a month on average, West Bromwich (down 3% to £364 a month), Huddersfield (down 2% to £340) and Middlesbrough (down 2% to £327).
But while they all cost less than last year, none of them made it into the 10 cheapest places to rent.
This was led by the North East's South Shields - where renting a room will cost you just £300 a month on average - followed by Northern Ireland's Craigavon at £306 a month and north Wales' Bangor at £307.
There were also four towns where average rents were unchanged compared to last year - Reading (£530 a month), Dudley (£373), Walsall (£358) and Sunderland (£319).
Here are the 10 cheapest places to rent a room in the UK according to SpareRoom:
- South Shields - £300 a month
- Craigavon - £306 a month
- Bangor - £307 a month
- Londonderry -£309 a month
- Lisburn - £310 a month
- Belfast - £312 a month
- Sunderland - £319 a month
- Hartlepool - £320 a month
- Newtownabbey - £321 a month
- Dewsbury - £323 a month