Williams has played just 10 games for the Dogs over his short career, after being drafted with the 48th pick in the 2015 AFL National Draft.
The 19-year-old played six matches last season and has already featured four times in 2017, averaging 17 disposals, three marks and three tackles a game.
Western Bulldogs List Manager Jason McCartney says the club are delighted Williams chose to stay at the kennel.
“Bailey has shown some really promising signs since he came to the Club in 2015,” McCartney told westernbulldogs.com.au.
“His poise and decision making are of a high quality, and we’re looking forward to watching him continue to develop into a quality player for the football club.”