|First appearance||260: The Glass Necklace|
White Hat is a stick figure character in xkcd. He is distinguished by his eponymous white hat which appears to be in the shape and style of a boater. His appearance is identical to that of Black Hat other than the color of their respective hats. Unlike Black Hat, however, White Hat doesn't necessarily represent the same character in each appearance.
Interestingly, the two characters have been depicted together only in 1000: 1000 Comics, 1110: Click and Drag, 1708: Dehydration, 1756: I'm With Her, 1881: Drone Training, and 2174: First News Memory although they actually speak in the same setting in 1708 and 2174, and speak to each other in 1881, the other three being large comics where they do not meet. The same goes for the other white hat guy, Beret Guy. See more on how little these three interact in xkcd in the explanation for Characters with Hats.
In early comics, White Hat appeared mostly as a rare secondary character. But starting with comic 915: Connoisseur, White Hat began appearing more often and developed more of a personality, often playing the role of a philosophically misguided person. In this way, he's a bit of a , making to help advance Randall's point (see also 973: MTV Generation, 1215: Insight, 1255: Columbus, 1277: Ayn Random, 2357: Polls vs the Street and 2368: Bigger Problem). Other times, he is simply an alternative to Cueball or one of the other main characters.
In 603: Idiocracy a character with a white hat appears, but it is a rounded safari hat very unlike White Hat's usual boater. He also has a very different mindset so there is no reason to believe that he is White Hat at all, and the comic has been removed from the list of those with White Hat. The main reason for the initial misunderstanding is that White Hat had already appeared in his normal hat three times before that comic, and Safari Hat guy has never been shown again, except in 1000: 1000 Comics.
The name white hat comes from his white hat, but it is worth noting that a white hat is a programmer who tries to hack into a computer as his job to test the strength of the code.