From my understanding, the caret character (^) has been used to indicate Ctrl-key combinations since the early UNIX days, if not earlier. Why was this character used to indicate this? Was it simply that the symbol wasn't being used for anything else at the time, or is there an etymological history where that makes sense?

Some things have used alternate notation; for example, Emacs stands out for using C- instead, and many user manuals simply write control- or ctrl-, much as how alt- is still commonplace (a notable exception being Apple's modern use of for Option, and similarly for Command, which of course used to be represented with the Apple logo instead, with both open and filled variants on the earliest Apple computers).

The dictionary definition of caret doesn't make any nod to this usage, and instead only offers:

a wedge-shaped mark made on written or printed matter to indicate the place where something is to be inserted

and while Wikipedia describes the usage as a control character it states nothing about the history of this usage so far as I can find.

  • 8
    doesn't mean alt, it means option. Similarly, / means command.
    – Mark
    Commented May 1, 2019 at 2:38
  • 3
    @Mark: But option has become equivalent to alt. Some Apple keyboards label the key with both; and if you plug a non-Apple keyboard into a Mac, the key labelled alt is interpreted as ‘option’. It may not originally have been the same, but it's now very closely linked.
    – gidds
    Commented May 1, 2019 at 11:35
  • 2
    @gidds Maybe, but on Mac, the key has never been officially called Alt. It has always been called Option, and after Windows become popular, Apple started printing "alt" on the key as well since the key is used for similar commands as Alt in Windows. But it's definitely, definitely, definitely, the Option key. Not Alt. Calling it Alt is incorrect. AFAIK Apple has never called it Alt in any marketing or instruction material. (And FWIW they no longer print "alt" on the key.)
    – user91988
    Commented May 1, 2019 at 19:37
  • 1
    @Mark I was using Alt and Meta to refer to the commonly-used names of the keys across multiple operating systems (as well as what the actual scancodes are commonly referred to in most keyboard firmware and HID event viewers and the like), and not Apple's own terminology. Also is not a universal Unicode codepoint; on Apples it happens to display the Apple logo but it's in the private use area.
    – fluffy
    Commented May 1, 2019 at 23:39
  • 1
    Nonetheless, you incorrectly associated the wrong glyphs. jdebp.uk./FGA/iso-9995-7-symbols.html
    – JdeBP
    Commented May 2, 2019 at 12:29

1 Answer 1


We use caret because the 1968 version of ASCII replaced the perfectly fine up-arrow (previously used for indicating control characters) with a lousy caret, at the same code value.

I think the up-arrow, letter convention originated with DEC operating systems. The primary need was not documentation, but for echoing something printable (and preferably easily recognizable) when a control character is typed on the keyboard. Bear in mind that the I/O device at this time was something like a teletype.

But I don't think there's anything special about the choice; as far as I known it was a semi-arbitrary decision that stuck.

This 1965 brochure for the PDP-6 Monitor shows the uparrow, C convention for control-C, on page 4:

Image from brochure

  • 6
    Also, Caret notation indicates that the use of ^ was not universal, at least the Acorn used a different notation. Commented May 1, 2019 at 1:39
  • 1
    Also, as far as I can tell from looking around, "control-letter" characters pretty much imply ASCII, at least before PC-style keyboards. Other codes, say Baudot, had what in modern write-ups get called "control characters", but I don't think they were at the time. (Note to young people: the world was not originally ASCII, there were many character codes, sometimes even varying between devices on the same system).
    – dave
    Commented May 1, 2019 at 2:27
  • 1
    @GregHewgill I suppose Acorn used the shaft of the up-arrow, instead of the head.
    – Kaz
    Commented May 1, 2019 at 10:45
  • 2
    Left arrow would be a better assignment operator than =, if such a character were common. The composite <- is not suitable due to ambiguity of x<-1 : x becomes 1, or x is less than minus 1?
    – dave
    Commented May 3, 2019 at 11:51
  • 10
    The main reason for the caret is for internationalization, particularly French and Portuguese. You'd do the caret, backspace, and a letter to get the circumflex. You can't do that with an arrow.
    – user71659
    Commented May 5, 2019 at 21:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .