空白文字(英: whitespace)は、タイポグラフィやプログラミングにおいて水平方向または垂直方向の空白を表す文字である。

文字が描画されるとき、多くの空白文字はある程度の幅を有するが、ほとんどの図形文字と違い通常は目に見えない。空白文字として最も代表的なU+0020   spaceは、語と語の区切りを表し、ラテン文字、ギリシア文字、キリル文字などの西洋文字で使用される。

## 概要

多くのキーボード配列では、 `スペース` を押すことで空白文字を入力できる。スペースの長さは異なる場合があるが、多くのキーボードでは `⭾ Tab` キーで水平方向の空白も入力できる。垂直方向の空白は、 `Return` で入力できる。これにより、ほとんどのプログラムで改行コードシーケンスが作成される。 `⏎ Enter` が別の意味を持つシステムもあれば、2つが統合されているシステムもある。初期のコンピュータゲームの多くは、画面を描画するために空白文字を使用していた(例:Kingdom of Kroz)。

空白という用語は、普通の紙の文字の外観に基づいている。ただし、アプリケーション内では、空白文字は他の文字コードと同じ方法で処理でき、異なるプログラムが文字に対して独自のセマンティクスを定義する場合がある。

## Unicode

次の表は、Unicode文字データベースで空白文字("WSpace=Y", "WS")として定義されている25文字の一覧である。

注:次の表を表示するために使用するブラウザとフォントによっては、すべてのスペースが正しく表示されない場合がある。

| - 表 - 話 - 編 - 歴  プロパティがWhite\_Space=yesのUnicode文字 | | | | | | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 名前 | 符号点 | | 幅 | NBSP | IDN | 用字 | ブロック | 一般カテゴリ | 注釈 |
| character tabulation | 000009U+0009 | 9 |  | Yes | 非対応 | 共通 | 基本ラテン文字 | Other, control | 水平タブ(Horizontal Tab; HT)。HTMLの文字実体参照及びXMLの実体参照では`&Tab;`、LaTeXでは`\tab`、C言語の文字列リテラル中におけるエスケープシーケンスでは`\t`と表記する。 |
| line feed | 000010U+000A | 10 | 行が変わる | | | 共通 | 基本ラテン文字 | Other, control | 改行(Line feed; LF)。HTMLの文字実体参照及びXMLの実体参照では`&NewLine;`、C言語の文字列リテラル中におけるエスケープシーケンスでは`\n`と表記する。 |
| line tabulation | 000011U+000B | 11 | 行が変わる | | | 共通 | 基本ラテン文字 | Other, control | 垂直タブ(Vertical Tab; VT)。C言語の文字列リテラル中におけるエスケープシーケンスでは`\v`と表記する。 |
| form feed | 000012U+000C | 12 | 行が変わる | | | 共通 | 基本ラテン文字 | Other, control | 書式送り(Form feed; FF)。 C言語の文字列リテラル中におけるエスケープシーケンスでは`\f`と表記する。 |
| carriage return | 000013U+000D | 13 | 行が変わる | | | 共通 | 基本ラテン文字 | Other, control | 復帰(Carriage return; CR)。C言語の文字列リテラル中におけるエスケープシーケンスでは`\r`と表記する。 |
| space | 000032U+0020 | 32 |  | Yes | 非対応 | 共通 | 基本ラテン文字 | Separator, space | 最も代表的な空白文字。LaTeXでは`\`と表記する。 |
| next line | 000133U+0085 | 133 | 行が変わる | | | 共通 | ラテン1補助 | Other, control | 改行(New Line; NEL)。LaTeXでは`\\`と表記する。 |
| no-break space | 000160U+00A0 | 160 |  | No | 非対応 | 共通 | ラテン1補助 | Separator, space | ノーブレークスペース。U+0020   en spaceと同等だが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では`&nbsp;`, `&NonBreakingSpace;` LaTeXでは`~`と表記する。 |
| ogham space mark | 005760U+1680 | 5760 |  | Yes | 非対応 | オガム文字 | オガム文字 | Separator, space | オガム文字で書かれた文章のわかち書きに使用される。通常、縦書きでは縦線、横書きでは横線だが、横線のない(stemless)フォントでは空白の場合もある。 |
| en quad | 008192U+2000 | 8192 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1 enと等しい文字幅を有する空白文字。和文組版では二分アキに相当する。U+2002   en spaceは標準的にこの文字と同等であり、使用にはU+2002   en spaceが推奨される。 |
| em quad | 008193U+2001 | 8193 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1 emと等しい文字幅を有する空白文字。英語圏では“mutton quad”としても知られる。和文組版では全角アキに相当する。U+2003   em spaceは標準的にこの文字と同等であり、使用にはU+2003   em spaceが推奨される。 |
| en space | 008194U+2002 | 8194 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1 enと等しい文字幅を有する空白文字。英語圏では“nut”としても知られる。和文組版では二分アキに相当する。U+2000   en quadは標準的にこの文字と同等であり、使用にはU+2002   en spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では`&ensp;`、LaTeXでは`\enspace`(ただしLaTeXのenスペースはノーブレークスペース)と表記する。 |
| em space | 008195U+2003 | 8195 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1 emと等しい文字幅を有する空白文字。英語圏では“mutton”としても知られる。和文組版では全角アキに相当する。U+2001   em quadは標準的にこの文字と同等であり、使用にはU+2003   em spaceが推奨される。HTMLの文字実体参照及びXMLの実体参照では`&emsp;`、LaTeXでは`\quad`と表記する。 |
| three-per-em space | 008196U+2004 | 8196 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1⁄3 emと等しい文字幅を有する空白文字。英語圏では“thick space”としても知られる。和文組版では三分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では`&emsp13;`, LaTeXでは`\;`(ただしLaTeXのemスペースはノーブレークスペース)と表記する。 |
| four-per-em space | 008197U+2005 | 8197 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1⁄4 emと等しい文字幅を有する空白文字。英語圏では“mid space”としても知られる。和文組版では四分アキに相当する。HTMLの文字実体参照及びXMLの実体参照では`&emsp14;`と表記する。 |
| six-per-em space | 008198U+2006 | 8198 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1⁄6 emと等しい文字幅を有する空白文字。和文組版では六分アキに相当する。U+2009   thin spaceと同等とされることもある。 |
| figure space | 008199U+2007 | 8199 |  | No | 非対応 | 共通 | 一般句読点 | Separator, space | 図形間隔。単一の数字と同一の印字間隔を占める植字単位である。HTMLの文字実体参照及びXMLの実体参照では`&numsp;`と表記する。 |
| punctuation space | 008200U+2008 | 8200 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | フォント内の狭い句読点と同じ幅、つまりピリオドまたはカンマの送り幅と同じ幅を占める。HTMLの文字実体参照及びXMLの実体参照では`&puncsp;`と表記する。 |
| thin space | 008201U+2009 | 8201 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | 1⁄5 em(場合によっては1⁄6 em)と等しい文字幅を有する空白文字。国際単位系の桁区切りとして使用を推奨する。U+2002   en spaceからU+2008   punctuation spaceとは異なり、その幅は植字時に調整される可能性がある。HTMLの文字実体参照及びXMLの実体参照では`&thinsp;`、`&ThinSpace;`、LaTeXでは`\,` (the LaTeX thin space is a no-break space)と表記する。 |
| hair space | 008202U+200A | 8202 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | U+2009   thin spaceよりも狭い空白文字。HTMLの文字実体参照及びXMLの実体参照では`&hairsp;` `&VeryThinSpace;`(ただしすべてのブラウザに対応していない)と表記する。 |
| line separator | 008232U+2028 | 8232 | 行が変わる | | | 共通 | 一般句読点 | Separator, line |  |
| paragraph separator | 008233U+2029 | 8233 | 行が変わる | | | 共通 | 一般句読点 | Separator, paragraph |  |
| narrow no-break space | 008239U+202F | 8239 |  | No | 非対応 | 共通 | 一般句読点 | Separator, space | ノーブレークスペース。機能的にはU+00A0   no-break spaceと同様。モンゴル語で使用する場合、その幅は通常のスペースの3分の1になる。他の文脈では、その幅はU+2009   thin spaceの幅に近い場合がある。LaTeXでは`\,`と表記する。 |
| medium mathematical space | 008287U+205F | 8287 |  | Yes | 非対応 | 共通 | 一般句読点 | Separator, space | MMSP。数式で使用される。⁄18 emの幅を占める。数学的なタイポグラフィでは、スペースの幅は通常、⁄18 emの整数倍で指定され、⁄18 emは、たとえば、式a + bにおいてa と + の間、および + と b の間など、さまざまな状況で使用されることがある。HTMLの文字実体参照及びXMLの実体参照では`&MediumSpace;`、LaTeXでは`\:`(ただしLaTexではノーブレークスペース)と表記する。 |
| ideographic space | 012288U+3000 | 12288 |  | Yes | 非対応 | 共通 | CJKの記号及び句読点 | Separator, space | 単一のCJK文字と同一の印字間隔を占める。和字間隔、文組版の全角アキと同等。字下げや擡頭で使用される。 |

| - 表 - 話 - 編 - 歴  プロパティがWhite\_Space=noの関連するUnicode文字 | | | | | | | | | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 名前 | 符号点 | | 幅 | NBSP | IDN | 用字 | ブロック | 一般カテゴリ | 注釈 |
| mongolian vowel separator | 006158U+180E | 6158 | ᠎ | Yes | 非対応 | モンゴル文字 | モンゴル文字 | Other, Format | MVS。モンゴル語で単語の最後の2文字を異なる形にするために使用される狭いスペース文字。以前のバージョンではスペース文字として分類されていたが、Unicode 6.3.0ではスペース文字(つまりZsカテゴリ)として分類されなくなった。 |
| zero width space | 008203U+200B | 8203 | ​ | Yes | 非対応 | ? | 一般句読点 | Other, Format | ゼロ幅スペース(zero width space; ZWSP)。明示的なスペースを使用しないときに、文書処理システムに対して語の切れ目を示すのに用いる。これはソフトハイフンに似ているが、音節の境界を示すために使用され、改行時に目に見えるハイフンを表示する必要があるという点が異なる。HTMLの文字実体参照及びXMLの実体参照では`&ZeroWidthSpace;`と表記する。 |
| zero width non-joiner | 008204U+200C | 8204 | ‌ | Yes | Context-dependent | ? | 一般句読点 | Other, Format | ゼロ幅非接合子(zero-width non-joiner; ZWNJ)。本来ならば合字として連結される2つの文字の間にゼロ幅非接合子が置かれると、その2つの文字はそれぞれ末尾形および頭字形で表示される。HTMLの文字実体参照及びXMLの実体参照では`&zwnj;`と表記する。 |
| zero width joiner | 008205U+200D | 8205 | ‍ | Yes | Context-dependent | ? | 一般句読点 | Other, Format | ゼロ幅接合子(zero-width joiner; ZWJ)。本来ならば接合しない形で表示される文字の後ろにゼロ幅接合子が置かれると、接合する形で表示される。接合形を独立形で表示するためにも使用する。デフォルトで合字または接合が予期されるかどうかに応じて、(絵文字およびシンハラ文字のように)1つのグリフで置換させるか、(デーヴァナーガリーのように)抑制することができる。(ゼロ幅非接合子とは異なり)個々の接合形の使用を許可しながら、単一のグリフで置換する。HTMLの文字実体参照及びXMLの実体参照では`&zwj;`と表記する。 |
| word joiner | 008288U+2060 | 8288 | ⁠ | No | 非対応 | ? | 一般句読点 | Other, Format | 単語結合子(word joiner; WJ)。U+200B  zero width spaceに似ているが、その空白文字の箇所での自動的な改行を防ぐ。HTMLの文字実体参照及びXMLの実体参照では`&NoBreak;`と表記する。 |
| zero width non-breaking space | 065279U+FEFF | 65279 | ﻿ | No | 非対応 | ? | Arabic   Presentation   Forms-B | Other, Format | ゼロ幅ノーブレークスペース(zero width non-breaking space; ZWNBSP)。主にバイト順マーク(byte order mark; BOM)として使用される。Unicode 3.2では、壊れていないことを示すものとして使用することは推奨されず、代わりにU+2060  word joinerを使用する。 |