The Michigan Legislature passed the bill last week, part of a flurry of measures rushed through the lame-duck session.
Snyder told lawmakers in a letter Tuesday he vetoed the bill because it did not provide for affected institutions to opt out and prohibit weapons from their buildings, the Detroit Free Press reported.
"I believe that it is important that these public institutions have clear legal authority to ban weapons from their premises," he wrote. "Each is entrusted with the care of a vulnerable population and should have the authority to determine whether its mission would be enhanced by the addition of concealed weapons."
Snyder had been under pressure to veto the bill in the wake of the massacre of 20 first graders and six adults at Sandy Hook Elementary School in Newtown, Conn.
The veto came as the Democratic polling firm Public Policy Polling said Snyder's job approval rating plummeted following his decision to support fast-track legislative approval of so-called right-to-work legislation. The telephone survey of 650 Michigan voters, conducted Dec. 13-16, found 38 percent of Michigan voters approve of Snyder's performance in office and 56 disapprove.
PPP said Snyder's approval rating had been 47 on the final weekend before the November election, when his disapproval rating was just 37 percent.
The margin of error was 3.8 percentage points.