The caret is an inverted V-shaped grapheme. It is the spacing character ^ in ASCII (at code point 5Ehexadecimal) and other that may also be called a hat, control, uparrow, or, less frequently, chevron, Exclusive or sign, 'to the Exponentiation' (exponent), pointer (in Pascal), or wedge. Officially, this character is referred to as circumflex accent in both ASCII and Unicode terminology (because of its historical use in overstrike), whereas caret refers to a similar but lowered Unicode character: . Additionally, there is a lowered variant with a stroke: .
The caret and circumflex are not to be confused with other chevron-shaped characters, such as or , which may occasionally be called carets, too.
The caret was originally and continues to be used in handwritten form as a proofreading mark to indicate where a punctuation mark, word, or phrase should be inserted into a document. The term comes from the Latin caret, "it lacks", from carēre, "to lack; to be separated from; to be free from". The caret symbol is written below the line of text for a line-level punctuation mark, such as a comma, or above the line as an inverted caret (cf. ) for a higher character, such as an apostrophe; the material to be inserted may be placed inside the caret, in the margin, or above the line.
File:Image of carets telling reader to insert a comma, an apostrophe, and quotation marks.png|Carets telling reader to insert a comma, an apostrophe, and quotation marks
File:Image of caret telling a reader to insert a letter.png|Caret telling a reader to insert a letter
File:Image of caret telling reader to insert a word.png|Caret telling reader to insert a word
File:Image of caret telling reader to change a word.png|Caret telling reader to change a word
A raised variant of the symbol can be found on some , where it is used to denote a circumflex in some languages, such as French and Portuguese. It is typically a dead key, which does not cause the carriage to advance and thus allows the following letter to strike the same spot (below the circumflex) on the paper.
As regards , the original 1963 version of the ASCII standard reserved the code point 5Ehex for an up-arrow (↑). However, the 1965 ECMA-6 standard replaced the up-arrow with a circumflex (^), which was applicable as a diacritic as well, and two years later, the second revision of ASCII followed suit. As the early mainframes and largely used as output devices, it was possible to print the circumflex above a letter when needed. With the proliferation of monitors, however, this was seen insufficient, and precomposed characters, with the diacritic included, were instead introduced into appended character sets, such as Latin-1. The original circumflex character was left for other purposes, and as it did not need to fit above a letter anymore, it became larger in appearance.
The caret has many uses in programming languages. It can signify exponentiation, the bitwise XOR operator, string concatenation, and control characters in caret notation, among other uses. In regular expressions, the caret is used to match the beginning of a string or line; if it begins a character class, then the inverse of the class is to be matched.
ANSI C can transcribe the caret in the form of the C trigraph ??', as the character was originally not available in all character sets and keyboards.
C++ additionally supports tokens like xor (for ^) and xor_eq (for ^=) to avoid the character altogether.
RFC 1345 recommends to transcribe the character as digraph '> when required. RFC 1345
Pascal uses the caret for declaring and dereferencing pointers.
In Smalltalk, the caret is the method return statement.
In C++/CLI, .NET reference types are accessed through a handle using the ClassName^ syntax.
In Apple's C extensions for Mac OS X and iOS, carets are used to create blocks and to denote block types.
Go uses it as a bitwise NOT operator.
In mathematics, the caret can signify exponentiation (3^5 for ), where the usual superscript is not readily usable (as on some graphing calculators). The caret is also now used to indicate a superscript in TeX typesetting. As Isaac Asimov described it in his 1974 " Skewered!" essay (on Skewes' number), "I make the exponent a figure of normal size and it is as though it is being held up by a lever, and its added weight when its size grows bends the lever down." The use of the caret for exponentiation can be traced back to ALGOL 60, which expressed the exponentiation operator as an upward-pointing arrow, intended to evoke the superscript notation common in mathematics. The upward-pointing arrow is now used as a form of Tetration in Knuth's up-arrow notation.
In Italian, the caret is sometimes used in a similar manner to the ordinal indicator, most noticeably on tickets from Trenitalia, the primary operator of trains within Italy, and Rome ATAC public transit system. On Trenitalia tickets, the travel class is often written as 1^ or 2^, meaning first class or second class respectively. This is due to the lack of the feminine ordinal indicator (−a) used in Italian in the ASCII set (the masculine ordinal indicator is usually replaced by the degree sign when extended characters are not available or in less accurate typesetting).
In social network services such as Twitter, a caret placed before a word is used to tag that word as an individual's signature within a group account thus differentiating an individual's contribution from a group-authored contribution. The caret is also a trademarked symbol for denoting a Single Point of Contact or SPOC.
In , social networking sites such as Facebook, or in , a caret or a series of carets may be used beneath or after the post of one user by another user. In this usage, the caret ^ represents an upwards-pointing arrow meaning for readers, Posting style or the original post (OP) to see the above line/post, and in addition to the arrow usage, can also mean that the user who posted the ^ agrees with the above post. Multiple carets may indicate the comment is replying to or relating to the post above that correlates with the number of carets used, or may simply be used for emphasis.
A similar use has been adopted by programming language such as Java compiler to point out where a compilation error has occurred. In addition to indicating the line number and column number of the error location, the compiler prints out the faulty line of code and uses a single caret on the next line, padded by spaces, to give a visual indication of the error location. The caret acts as an upwards-pointing arrow in the text-based print out of the error details.
In statistics or other forms of estimation, of a parameter or dependent variable can be shown by use of a caret or hat symbol above the symbol for that parameter or dependent variable. For example, with observations of independent variable data and dependent variable data , and assuming a model of , simple linear regression can lead to an estimated model of the form where is minimised by finding optimal values of and for the observed data.