The protagonist of Holes is Stanley Yelnats. The unlikely hero of the story, Stanley is a portly teenager with no friends at school, often the victim of the school bully, Derrick. The story kicks off when he is convicted of a crime he did not commit, as his family is plagued with bad luck. He is sent to Camp Green Lake, a juvenile detention center. Generally, he is gentle and kind, so he has difficulty at the camp. However, Stanley is optimistic and not easily brought down, so his confidence boosts and he becomes stronger at the camp. He stands up for himself and his friends and befriends Zero, an unpopular kid at the camp.
Zero is another major character in Holes. His real name is Hector Zeroni, but his nickname has been Zero for a long time. He has also been homeless most of his life; he was separated from his mother as a baby. Zero does not know how to read or write, but he is still smart and fiercely stands up for himself. He rarely speaks and usually walks around frowning, but once Stanley befriends him, we learn that Zero is so quiet because he doesn't speak to people who mock him and does not like to answer questions. Zero comes out of his shell as Stanley's confidence grows.
There are a few other characters that appear numerous times throughout the story. X-Ray is the leader of the group at Camp Green Lake, even though he is small and has poor eyesight. Squid is one of the boys who follows X-Ray's directions. He often teases Stanley about receiving letters from his mother, but we later learn that Squid cares about his own mother and, when Stanley leaves, asks Stanley to call her for him.
Warden is pure, cruel authority at the camp. She uses her power to threaten people and even has hidden cameras on the boys. She also uses nail polish infused with rattlesnake venom to scratch anyone who gets in her way. She forces the boys to dig holes in an attempt to unearth Kate Barlow's treasure.
Kate Barlow was a schoolteacher who became an outlaw after the murder of Sam. She was killed by the racist people of Green Lake when she and Sam shared a kiss. Charles Barlow, jealous of Sam, is the one who riles the people into burning down Kate's schoolhouse and killing Sam. Kate later robs Stanley's great-grandfather, Elya, the reason why the Yelnats have bad luck. Elya forgets to fulfill a promise to a gypsy, Madame Zeroni, Zero's great-great-great grandmother. She gave Elya Yelnats a pig, but he broke his promise to carry her to the top of a mountain, so she apparently put a curse on the Yelnats family name.