Hidden text is computer text that is displayed in such a way as to be invisible or unreadable. Hidden text is most commonly achieved by setting the font colour to the same colour as the background, rendering the text invisible unless the user highlights it.
Hidden text can serve several purposes. Often, websites use it to disguise spoilers for readers who do not wish to read that text. Hidden text can also be used to hide data from users who are less Internet-experienced or who are not familiar with a particular website. Another meaning may refer to hidden text to small messages at the bottom of advertisements that are permitted by some law to state a particular liability or requirement in text (also known as fine print). An example of this practice is to display an FTP password in hidden text to reduce the number of users who are able to access downloads and thereby save bandwidth. Parody sites (such as Uncyclopedia) occasionally use the technique as a joke about censorship, with the "censored" text displayed black-on-black in an obvious manner akin to a theatrical stage whisper.
It is also used by websites as a spamdexing technique to fill a page with keywords that a search engine will recognize but are not visible to a visitor. However, Google has taken steps to prevent this by parsing the color of text as it indexes it and checking to see if it is transparent, and may penalize pages and give them lower rankings. [1]
Conversely, Project Honey Pot uses links intended only to be followed by spambots; the links point to honeypots which detect e-mail address harvesting. A link using rel="nofollow" (to hide it from legitimate search engine spiders) and hidden text (to remove it for human visitors) would remain visible to malicious 'bots.
Compare with metadata, which is usually also hidden, but is used for different purposes.
Hidden characters are characters that are required for computer text to render properly but which are not a part of the content, so they are hidden. This includes characters such as those used to add a new line of text or to add space between words, commonly referred to as "white space characters".