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


MD5 Character Tabulation, Horizontal Tabulation

input value base output hash
HT char 5E732A1878BE2342DBFEFF5FE3CA5AA3
9 dec 45C48CCE2E2D7FBDEA1AFC51C7C6AD26
00001001 bin 9821A34FC16D7A1BA8C5A67497E271A5
0000 1001 bin B964BB1C8F94E1AB0424FFA2AF2BFEE4
11 oct 6512BD43D9CAA6E02C990B0A82652DCA
09 hex 0A8005F5594BD67041F88C6196192646
0x09 hex DEAA332E47D4E01E4BA6DC729BB1B6E6

SHA256 Character Tabulation, Horizontal Tabulation

input value base output hash
HT char 2B4C342F5433EBE591A1DA77E013D1B72475562D48578DCA8B84BAC6651C3CB9
9 dec 19581E27DE7CED00FF1CE50B2047E7A567C76B1CBAEBABE5EF03F7C3017BB5B7
00001001 bin AE8F8DF844DE4C5C3E498ADCE139C8CD7B975B03BDDE650982BD00AEBB0D3DF9
0000 1001 bin 550B9766504E0398D6C5C6F812170FD7E1A10D9319AD1593213FB40197AFB081
11 oct 4FC82B26AECB47D2868C4EFBE3581732A3E7CBCC6C2EFB32062C08170A05EEB8
09 hex 3514ACF61732F662DA19625F7FE781C3E483F2DCE8506012F3BB393F5003E105
0x09 hex 59B7E46B6B870C53B196AF4B53960FCB178B83CCA46D4E082BCABA176426811C

Base64 Character Tabulation, Horizontal Tabulation

input value base output hash
HT char CQ==
9 dec OQ==
00001001 bin MDAwMDEwMDE=
0000 1001 bin MDAwMCAxMDAx
11 oct MTE=
09 hex MDk=
0x09 hex MHgwOQ==
Back to ASCII table

 2018-2023 © Dmytro Koshovyi. Ukraine, Mykolayiv.