ゼロ幅スペース(ゼロはばスペース、英: zero width space, ZWSP)は、コンピュータの組版に用いられる非表示文字で、文書処理システムに対して語の切れ目を示すのに用いる。通常、英語などのわかち書きをする言語において、文の途中で改行を入れる場合はスペースの位置で行われる。しかし、スラッシュなどの記号の後などスペースは入らないが改行をしても良い箇所や、日本語などのわかち書きをしない言語において、改行できる位置を明示するためにゼロ幅スペースが用いられる。
HTMLでは<wbr>
要素の代替として、長い単語の途中で改行可能な場所を示すのに使われる。ただし、バージョン6以前のInternet Explorerなど、これを正しく表示できないWebブラウザもある[1] 。
以下はゼロ幅スペースを使った例である。lorem ipsumをキャメルケースでつなぎ、全ての単語の間にゼロ幅スペースを入れている。
LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum
同じ文でゼロ幅スペースを使用しないと以下のようになる。
LoremIpsumDolorSitAmetConsecteturAdipiscingElitSedDoEiusmodTemporIncididuntUtLaboreEtDoloreMagnaAliquaUtEnimAdMinimVeniamQuisNostrudExercitationUllamcoLaborisNisiUtAliquipExEaCommodoConsequatDuisAuteIrureDolorInReprehenderitInVoluptateVelitEsseCillumDoloreEuFugiatNullaPariaturExcepteurSintOccaecatCupidatatNonProidentSuntInCulpaQuiOfficiaDeseruntMollitAnimIdEstLaborum
ブラウザがゼロ幅スペースに対応しているならば、1つ目の例はブラウザのウィンドウ幅を変えたときに単語の間で改行されるが、2つ目の例は改行されないことがわかる。
Unicodeでは、ゼロ幅スペースはU+200B zero width space (HTML: ​
)に割り当てられている[2]。
TeXでは\hskip0pt
、LaTeXでは\hspace{0pt}
[3]、groffでは\:
[4]と表現される。