Morning drizzle, which had forced covers on the pitch, delayed start of the match by 15 minutes and the sky was still overcast at the time of the toss.
"We'll bat first, it's a tough decision," Williamson said.
"It's a bat-first surface but if you look above, it adds confusion. The semi-final was a really good game of cricket and a tough battle for the boys. It's given us confidence for today."
New Zealand fielded the same team who beat India in the first semi-final in Manchester.
England are playing their fourth World Cup final, against last edition's runners-up New Zealand.
Home captain Eoin Morgan said he was not too disappointed having lost the toss.
"Not at all bothered by losing the toss. It was a bit of a 50-50 call and with the overhead conditions I might have leaned towards bowling first. Whichever team plays well will lift the trophy," he said.
England also retained the same XI who had thumped Australia in the second semi-final with opener Jonny Bairstow overcoming a thigh niggle.
"Jonny is fully fit, which is great news for us," Morgan said.
"I'm extremely proud and everyone in the change room is. We want to win and throughout the tournament we have played tough games and the semi-final epitomised that."
The pitch sported a hint of green which, both captains agreed on Saturday, would please the seam bowlers.
New Zealand defended a low total against India in the first semi-final while England proved they were fine either way completing an easy chase against Australia in the other.
Teams:
England: Jason Roy, Jonny Bairstow, Joe Root, Eoin Morgan (captain), Ben Stokes, Jos Buttler (wicketkeeper), Chris Woakes, Liam Plunkett, Jofra Archer, Adil Rashid, Mark Wood
New Zealand: Martin Guptill, Henry Nicholls, Kane Williamson (captain), Ross Taylor, James Neesham, Tom Latham (wicketkeeper), Colin de Grandhomme, Mitchell Santner, Matt Henry, Trent Boult, Lockie Ferguson.