United also has the option to extend Williams' stay by a further year.
The 19-year-old has come through the academy system at Old Trafford and impressed as a left-back, earning his first-team debut this season when he appeared as a substitute in the EFL Cup clash with Rochdale last month.
He also started the Europa League trip to AZ earlier this month, while he was an unused sub in the Premier League games against Arsenal and Newcastle United.
Williams has found himself in the first-team picture as a result of Luke Shaw's injury but appears to have a promising future.
He made his England Under-20 debut in a 0-0 draw with Netherlands in September.
Williams' commitment comes at a time when United are struggling, with Ole Gunnar Solskjaer's side 12th in the table heading into Sunday's visit of league leaders Liverpool.