About HT

Integer ASCII code: 9
Binary code: 0000 1001
Octal code: 11
Hexadecimal code: 09
Group: control
Seq: ^I
C/C++ notation: \t or '\t'

Unicode symbol: , int code: 9225 (html &#9225) hex code: 2409 (html &#x2409)


Position according to the next character tab stop.

The tab key Tab ↹ (abbreviation of tabulator key or tabular key). On a keyboard its function is to move forward the cursor to the next tab stop.


The tab rack from a Flexowriter model 2201. The tab-rack of this machine can be removed for simple setting.

Some words about the history of the word tab. Tab derives from the word tabulate. It's meaning is "to organize data in a tabular, or table, form". When a person wanted to type a table (of numbers or text) on a typewriter, he had to use space bar and backspace key a lot. This took too much time and was pretty annoying. In order to make it simpler, a horizontal bar called the tabulator rack was placed in the mechanism. Pressing the tab key would move forward the carriage to the next tabulator stop. The first tabulator stops were clips, that could be adjusted and moved from place to place on the tabulator rack. In 1900 a patent application for such a mechanism was filed by Fredric Hillard.

The tab mechanism achieved its recognition as a fast and consistent way of evenly indenting the first line of each paragraph. A first tab stop at 5 or 6 characters was frequently used for this, way more larger than the indentation used in typesetting. The logical place for the digital data tab stop is the place of the least important digit. The technique of tabbing to this location with further pressing the backspace key to back up to the position of the first digit worked pretty well but way too slow. There were lots of suggestions concerning numeric tabs. One of the examples is filing for a patent of tab mechanism with multiple tab keys numbered 1, 10, 100, etc. in 1903 by Harry Dukes and William Clayton. Pressing 1 was a simple tab. Pressing 10 advanced to the space before the tab, pressing 100 advanced to the position 2 spaces before the tab.

At the beginning tab stops were adjusted by adding and removing clips from the tab rack. However, Edward Hess working for the Royal Typewriter Company wanted to modify it. In 1904 he filed for a patent including a system where the tab stops were constantly mounted on the tab bar. Now set or reset a tab for a particular column was much easier: the tab stop for that column was simply turned in or out of engagement. Here comes the next patent. In 1940, James Koca filed for a patent on a mechanism that allowed the tab stops for each column to be adjusted and cleared from the keyboard. This was really helpful, especially for the typist: now he didn't need to bend over the back of the machine to manually set the tab rack. These keys (if there were any of them) are usually labeled tab set and tab clear.

Today's usage

The Tab key will frequently have a function of moving the insertion point to the next tab stop in a table in text editing. Besides, it has a function of inserting the ASCII tab character or lots of space characters.

If the operator presses Tab when filling out a computerized form, Tab moves the cursor to the next field. If you press Shift together with Tab, it will move the cursor to the previous field). This way you don't need to use a mouse to click in an adjacent field.

Let's move on to the functions of Tab in applications that work with graphics. In graphical applications, particularly on Windows the Tab key has a function of moving the focus to every control or widget, for example buttons. This way you can use the user interface without having to work with a mouse (this was part of the IBM Common User Access design). MacOS has such an option either; here it's called "Full Keyboard Access".

A partially typed piece of text can be fully completed with the help of Tab key. For better understanding let's see an example. In some command-line interfaces it is possible to type the first few characters of a command or file-name, then press Tab. If the system has no uncertainty about your intent, the rest of the characters will appear automatically. Unix system uses such option more frequent than Windows.

The Tab key is well knows to the gamers all over the world. In 'PC' video games, Tab key is frequently used in order to show scores in multiplayer games. It is also adjusted for single player games in order to show the world map or the player's inventory (or any other information that can be useful).

Tab characters

The most popular and frequently used tab is a horizontal tab (HT). In ASCII it has the decimal character code of 9. It is also may be referred to as Ctrl+I or ^I. In lots of other programming languages, for example C, the escape code can be used to place this character into a string constant. The horizontal tab is usually can be applied using the Tab key on a standard keyboard.

If there is a horizontal Tab, we may logically conclude that there is a vertical tab as well. A vertical Tab (VT) has ASCII decimal character code 11 (Ctrl+K or ^K), escape character \v.

The code for HT is 5 in EBCDIC, and VT is 11 (coincidentally the same as in ASCII).

Initially, printer mechanisms used tab stops, which were mechanical. They were used in order to see where the tabs went. Horizontally this operation was done with the help of movable metal prongs in a row. Vertically it was done with the help of a loop of mylar or other tape length of a page with holes punched in it to indicate the tab stops. They were manually set by operator in order to match the pre-printed forms that were previously loaded into the printer.

The purpose was to program the printers with control characters in order to specify and clear the stops: ISO 6429 contains the codes 136 (Horizontal Tabulation Set), 137 (Horizontal Tabulation with Justification) and 138 (Vertical Tabulation Set). However, in reality settable tab stops were soon replaced with fixed tab stops. They were actually standardized at every line, consisting of 8 characters horizontally, and every 6 lines vertically. The principle of work was as following. A printing program had a function of sending zero or more tabs in order to get to the nearest tab stop above and left of the exact place where it wanted to print. The second step was sending line feeds and spaces in order to get to the final location. Finally, Tab characters just became a form of data compression.

Let's not take into account five characters, which are ½″ and the typical paragraph pressing that were used in past time. What is important is the fact that horizontal tab size of 8 managed to develop because as a power of two it was easier to calculate with the limited digital devices, which were available. Vertical tab was pretty rare supported on these terminals.

Some IDEs use a default horizontal tab size of 4 characters on the contrary to the de facto 8 character standard


input value base type output hash
HT char MD5 5e732a1878be2342dbfeff5fe3ca5aa3
HT char SHA1 ac9231da4082430afe8f4d40127814c613648d8e
9 dec MD5 45c48cce2e2d7fbdea1afc51c7c6ad26
9 dec SHA1 0ade7c2cf97f75d009975f4d720d1fa6c19f4897
00001001 bin MD5 9821a34fc16d7a1ba8c5a67497e271a5
00001001 bin SHA1 a5b0c6d765c65371f9043865eeb849bef2493698
0000 1001 bin MD5 b964bb1c8f94e1ab0424ffa2af2bfee4
0000 1001 bin SHA1 c7aa754168e91264507a17f63d46456f6aefe53d
11 oct MD5 6512bd43d9caa6e02c990b0a82652dca
11 oct SHA1 17ba0791499db908433b80f37c5fbc89b870084b
09 hex MD5 0a8005f5594bd67041f88c6196192646
09 hex SHA1 4b581cdce6283495fd4934ce574ac47e92881c64
0x09 hex MD5 deaa332e47d4e01e4ba6dc729bb1b6e6
0x09 hex SHA1 970d12842fd761256ef261aa175003c7add215c9
Back to ASCII table

 2018 © Dmytro Koshovyi. Ukraine, Mykolayiv.