Kessler projects as Jacksonville's new backup for Blake Bortles after Chad Henne signed a two-year deal with the Kansas City Chiefs.
The Browns selected Kessler in the third round of the 2016 draft.
The USC product made eight starts as a rookie, completing 65.6 percent of his passes for 1,380 yards, six touchdowns and two interceptions.
However, his playing time dwindled last season after the Browns spent a 2017 second-round pick on DeShone Kizer—who was traded to the Green Bay Packers earlier this month.
The Browns, who are widely expected to select a franchise quarterback at No. 1 overall in next month's draft, have overhauled their QB room throughout the offseason by trading for Tyrod Taylor and signing veteran Drew Stanton.
Cleveland also extended a qualifying offer to exclusive rights free agent Kevin Hogan.