Simon Spier is 16 years old & is a junior in high school. He claims to have the perfect family and friends, except for the fact that they don't know his big secret; that he is gay.
On his school's confession website, someone named "Blue", posts a message talking about how he is secretly gay. Simon starts talking to him under the code name of "Jacques".
Martin reads Simon's messages with Blue and threatens to tell the whole school that he is gay. Martin says that if he can go on a date with Simon's friend Abby, he won't post them and Simon agrees.
Simon tries to figure out who Blue is at his school, by using clues he learns from talking to him. He has several guesses but he doesn't know for sure.
Martin and Simon end up getting in a fight and as a result Martin posts the screenshots of the emails on the school confession sited, outing Simon. Simon is bullied but his friends and parents are supportive.
Simon asks Blue to meet him at the carnival, who ends up being Bram Greenfeld. The two spend the evening together then decide to start dating the next day.