Backtick

The backtick ` is a typographical mark used mainly in computing. It is also known as backquote, grave, or grave accent.

The character was designed for typewriters to add a grave accent to a (lower-case) base letter, by overtyping it atop that letter. On early computer systems, however, this physical dead key+overtype function was rarely supported, being functionally replaced by precomposed characters. Consequently, this ASCII symbol was rarely (if ever) used in computer systems for its original aim and became repurposed for many unrelated uses in computer programming.

The sign is located on the left-top of a US or UK layout keyboard, next to the key. On older keyboards, the Escape key was at this location, and the backtick key was somewhere on the right side of the layout. Provision (if any) of the backtick on other keyboards varies by national keyboard layout and keyboard mapping.

Typewriters
On typewriters designed for languages that routinely use diacritics (accent marks), there are two possible solutions. Keys can be dedicated to pre-composed characters or alternatively a dead key mechanism can be provided. With the latter, a mark is made when a dead key is typed but, unlike normal keys, the paper carriage does not move on and thus, the next letter to be typed is printed under the accent.

Incorporation into ISO 646 and ASCII
The incorporation of the grave symbol into ASCII is a consequence of this prior existence on typewriters. This symbol did not exist independently as a type or hot-lead printing character.

"It appears to have been at their May 13–15, 1963 meeting that the CCITT decided that the proposed ISO 7-bit code standard would be suitable for their needs if a lower case alphabet and five diacritical marks, including the grave accent, were added to it. At the October 29–31 meeting, then, the ISO subcommittee altered the ISO draft to meet the CCITT requirements, replacing the up-arrow and left-arrow with diacriticals, adding diacritical meanings to the apostrophe and quotation mark, and making the number sign a dual for the tilde." Thus, ISO646 was born and the ASCII standard updated to include the backtick and other symbols.

As surrogate of apostrophe or (opening) single quote
Some early typewriters and ASCII peripherals designed the backtick and apostrophe to be mirror images of each other. This allowed them to be used as matching pairs of open and close quotes, and also as grave and acute accents, and allowed the apostrophe to be used as a prime. None of these were considered typographically correct.

The use of apostrophe for opening quotes, the need on some typewriters to overprint apostrophe and period to get an exclamation mark, and the lack of a mirrored double-quote character, tended to change the apostrophe to the modern "typewriter" design that is vertical, so this no longer works. Unicode now provides separate characters for opening and closing quotes.

Such style is sometimes used even nowadays; examples are: output generated by some UNIX console programs, rendering of man pages within some environments, technical documentation written long ago or written in old-school manner. However, as time goes on, such style is used less and less, and even institutions that traditionally were using that style are now abandoning it.

Command-line interface languages
Many command-line interface languages and the scripting (programming) languages like Perl, PHP, Ruby and Julia (though see below) use pairs of backticks to indicate command substitution. A command substitution is the standard output from one command, into an embedded line of text within another command. For example, using $ as the symbol representing a terminal prompt, the code line:



on execution, produces the output:


 * It is now

In Bash and Zsh, the use of backticks for command substitution is now largely deprecated in favor of the notation, so that the example above would be re-written:



The new syntax allows nesting, for example:



Markup languages
It is sometimes used in source code comments to indicate code, e.g.,


 * /* Use the `printf` function. */

This is also the format the Markdown formatter uses to indicate code. Some variations of Markdown support "fenced code blocks" that span multiple lines of code, starting (and ending) with three backticks in a row.


 * TeX: The backtick character represents curly opening quotes. For example,  is rendered as single opening curly quote (‘) and   is a double curly opening quote (“). It also supplies the numeric ASCII value of an ASCII character wherever a number is expected.

Programming languages

 * BBC BASIC: The backtick character is valid at the beginning of or within a variable, structure, procedure or function name.
 * D and Go: The backtick surrounds a raw string literal.
 * F#: Surrounding an identifier with double backticks allows the use of identifiers that would not otherwise be allowed, such as keywords, or identifiers containing punctuation or spaces.
 * Haskell: Surrounding a function name by backticks makes it an infix operator.
 * JavaScript: ECMAScript 6 standard introduced a "backtick" character which indicated a string or template literal. Its applications include (but are not limited to): string interpolation (substitution), embedded expressions, and multi-line strings. In the following example  and   variable's values get substituted into the string enclosed by grave accent characters:


 * Lisp macro systems: The backtick character (called quasiquote in Scheme) introduces a quoted expression in which comma-substitution may occur. It is identical to the plain quote, except that a nested expression prefixed with a comma is replaced with the value of that nested expression. If the nested expression happens to be a symbol (that is, a variable name in Lisp), the symbols' value is used. If the expression happens to be program code, the first value returned by that code is inserted at the respective location instead of the comma-prefixed code. This is roughly analogous to the Bourne shell's variable interpolation with  inside double quotes.
 * Julia: Backticks make a command object,, that can be run, with run function, like  . You can interpolate Julia variables, but only indirectly shell environment variables.
 * m4: A backtick together with an apostrophe quotes strings (to suppress or defer macro expansion).
 * MySQL/MariaDB: A backtick in queries is a delimiter for column, table, and database identifiers.
 * OCaml: The backtick indicates polymorphic variants.
 * Pico: The backtick indicates comments in the programming language.
 * PowerShell: The backtick is used as the escape character. For example, a newline character is denoted . Most common programming languages use a backslash as the escape character (e.g.,  ), but because Windows allows the backslash as a path separator, it is impractical for PowerShell to use backslash for a different purpose. Two backticks produce the   character itself. For example, the nullable boolean of .NET is specified in PowerShell as.
 * Python : Prior to version 3.0, backticks were a synonym for the  function, which converts its argument to a string suitable for a programmer to view. However, this feature was removed in Python 3.0. Backticks also appear extensively in the reStructuredText plain text markup language (implemented in the Python docutils package).
 * R: The backtick is used to surround non-syntactic variable names. This includes variable names containing special characters or reserved words, among others.
 * Racket: The backtick or "Quasiquote" is used to begin creating lists.
 * Scala: An identifier may also be formed by an arbitrary string between backticks. The identifier then is composed of all characters excluding the backticks themselves.
 * Tom: The backtick creates a new term or to calls an existing term.
 * Unlambda: The backtick character denotes function application.
 * Verilog HDL: The backtick is used at the beginning of compiler's directives.

Games
In many PC-based computer games in the US and UK, the ` key is used to open the console so the user can execute script commands via its CLI. This is true for games such as Factorio, Battlefield 3, Half-Life, Halo CE, Quake, Half-Life 2, Blockland, Soldier of Fortune II: Double Helix, Unreal, Counter-Strike, Crysis, Morrowind, Oblivion, Skyrim, Fallout: New Vegas, Fallout 3, Fallout 4, RuneScape, and games based on the Quake engine or Source engine. While not necessarily the original progenitor of the console key concept, Quake is still widely associated with any usage of the ` key as a toggle for a drop-down console, often being referred to as the "Quake Key". In 2021, Windows Terminal introduced a "Quake Mode" which enables a global shortcut of Win+` that opens a terminal window pinned to the top half of the screen.