The Jets have offered quarterback Ryan Fitzpatrick a three-year free-agent deal that includes $12 million in the first year, sources said Friday.

Fitzpatrick, 33, has remained a free agent for months, waiting for the contract he believes he deserves. But based on what the sources said, it turns out the Jets were being more generous than initially thought.

Despite reports that they have offered about $7 million or $8 million a year, their $12-million offer for 2016 is almost four times what Fitzpatrick earned last season ($3.25 million) after his trade from the Houston Texans. And indications are it’s been on the table since March.

It remains to be seen if both sides are close to agreeing on a deal. Despite their shared interest in reuniting, the contract impasse between Fitzpatrick and the Jets has lasted since free agency began March 9.

He started all 16 games last season, throwing for 3,905 yards and 31 touchdowns (both career highs) as the Jets went 10-6, but they failed to make the playoffs for a fifth straight season. Fitzpatrick, who will turn 34 in November, has yet to play in a postseason game.

He told reporters earlier this week, “I would like to be back,” and with no other suitors, according to sources, the Jets appear to be his eventual landing spot.

Coach Todd Bowles, however, isn’t getting ahead of himself.

Asked on Wednesday if he’s “confident” that Fitzpatrick will return, he said: “You’re hopeful, I don’t know about confident. A lot of things can happen in football. Nothing surprises you, but they’re working on it and hopefully things work out.”

Bowles said as of “right now,” if Fitzpatrick re-signs, the Jets plan to keep four quarterbacks to start the regular season. That means there will be even fewer practice reps for Geno Smith (currently the presumptive starter) and backups Bryce Petty and rookie Christian Hackenberg. But the time away from the team won’t be an issue for Fitzpatrick, Bowles said.

“You’ve got to remember he was hurt last year when he came and he started the season,” he said. “So if you look at that, we’re in the same boat we were in last year. Fitz was hurt, Geno was the starting quarterback going in, and that’s how you approach this year.”