Tally has frizzy brown hair that she can never get just how she wants it. She is 16. She has thin lips, and eyes that are brown, and in her opinion, too close together. She likes her left side of her face better than her right side. She is confused and torn throughout the book, about what decision to make. However, for the most part she is happy, and at times sad. She crashes Peris' party, meets Shay, goes to the Smoke, meets David, betrays the Smoke (accidentally), rescues some Smokies and David´s mom, and turns pretty.
Shay is 16 and has the same birthday as Tally. She has long dark hair, and eyes to far apart. She has full lips, but is too skinny for a normal person. Shay is rebellious and not happy in Uglyville, but is happy at the Smoke. Until Tally comes and steals David from her. She is angry when she finds that Tally betrayed the Smoke. She meets Tally at the river in New Pretty town, runs away to the Smoke, dates David, finds out Tally betrayed the Smoke, is captured, and then turns pretty.
David is tall, has brown hair, and brown eyes. He has a lopsided smile, big nose, thin lips, and a high forehead. He looks a lot like his father. He is smart, strong, independent, he is happy with Tally, and sees everyone's inner beauty. He takes Tally to the Smoke from the hill that has nothing growing on it, shows her the cave that the railroad goes through, gives her his old gloves, breaks up with Shay to be with her, has Tally meet his parents, goes with Tally to the city, rescues the Smokies and his mom with Tally, and runs away when Tally tells him that originally she was a spy.