I really wish people would read this posting — which I hereunder quote in full.
This is in Bringhurst. To quote from the other posting’s citation, since nobody else seems to think this is a duplicate but me, I point out that in his highly recommended Elements of Typographical Style, Robert Bringhurst writes on page 82 of version 3.2 of that book:
Most digital fonts now include, among other things, a prefabricated ellipsis (a row of three baseline dots). Many typographers nevertheless prefer to make their own. Some prefer to set the three dots flush … with a normal word space before and after. Others prefer . . . to add thin spaces between the dots. Thick spaces (ᴍ/3) are prescribed by the Chicago Manual of Style, but these are another Victorian eccentricity. In most contexts, the Chicago ellipsis is much too wide.
Flush-set ellipses work well with some fonts and faces but not with all. At small text sizes – in 8 pt footnotes, for example – it is generally better to add space (as much as ᴍ/5) between the dots. Extra space may also look best in the midst of light, open letterforms, such as Baskerville, and less space in the company of a dark font, just as Trajanus, or when setting in bold face.
[. . .]
In English (but usually not in French), when the ellipsis occurs at the end of a sentence, a fourth dot, the period, is added and the space at the beginning of the ellipsis disappears. . . . When the ellipsis combines with a comma, exclamation mark, or question mark, the same typographical principle applies. Otherwise, a word space is required fore and aft. The ellipsis is a graphic word.
That means that it should be four dots at the end and without a space before the first, but three dots in the middle and with a space, and they are usually spaced out between each.
The first should be written with a dash instead:
- I will have to go to the store — and stay there.
The ellipsis has become stigmatized in recent years, as txkspkng kiddos have taken to using a slightly mangled version of the ellipsis in lieu of any and all other possible punctuation, whether commas or periods, dashes or parentheses, question marks or quotation marks.
And also this one, which gets into the code points used:
Yes, you do put a space in front of three of them, but not in front of four of them. The open questions are whether to use three or four, and whether to put spaces not just fore or aft, but between them. The short answers to those two questions are respectively
that you use four without a leading no-break space if it is the end of a sentence,
and that you almost always want to set them with thin no-break spaces between them, but this varies a bit depending on your face and point size.
Here follows a longer and more professional treatment. . . .
In his The Elements of Typographical Style, Robert Bringhurst writes on page 82 of version 3.2 of that book:
Most digital fonts now include, among other things, a prefabricated
ellipsis (a row of three baseline dots). Many typographers
nevertheless prefer to make their own. Some prefer to set the three
dots flush … with a normal word space before and after. Others
prefer . . . to add thin spaces between the dots. Thick spaces (ᴍ/3)
are prescribed by the Chicago Manual of Style, but these are another
Victorian eccentricity. In most contexts, the Chicago ellipsis is
much too wide.
Flush-set ellipses work well with some fonts and faces but not with all.
At small text sizes – in 8 pt footnotes, for example – it is generally
better to add space (as much as ᴍ/5) between the dots. Extra space may
also look best in the midst of light, open letterforms, such as
Baskerville, and less space in the company of a dark font, just as
Trajanus, or when setting in bold face.
[. . .]
In English (but usually not in French), when the ellipsis occurs at the
end of a sentence, a fourth dot, the period, is added and the space at
the beginning of the ellipsis disappears. . . . When the ellipsis
combines with a comma, exclamation mark, or question mark, the same
typographical principle applies. Otherwise, a word space is required
fore and aft. The ellipsis is a graphic word.
I should add that if you do use thin spaces to space out your dots, you want to use U+202F NARROW NO-BREAK SPACE
, not U+2009 THIN SPACE
, because it is a single symbol, and must not be line-broken. You probably also want to control the line breaking before the three-dot form of the ellipsis by using U+00A0 NO-BREAK SPACE
there. Notice how different these four scenarios work out:
- No spaces: stuff ... here
- Font ellipsis: stuff … here
- Thin spaces: stuff . . . here
- Thick spaces: stuff . . . here
Which for me looks like this:

To my mind, the first two are both too skinny, and the last one looks too fat, leaving the third version to occupy the so-called Goldilocks position of being “just right”. It is indeed option number three, the one with thin spaces, which I have used in this posting – except when demonstrating alternatives.
Personally, I never, ever “type” these characters. I employ murine snarf-n-barf after invoking @Reg’s “sudo make mez a unicode” spell.
$ unichars '\p{space}'
U+0009 -- CHARACTER TABULATION
U+000A -- LINE FEED (LF)
U+000B -- LINE TABULATION
U+000C -- FORM FEED (FF)
U+000D -- CARRIAGE RETURN (CR)
U+0020 -- SPACE
U+0085 -- NEXT LINE (NEL)
U+00A0 -- NO-BREAK SPACE
U+1680 -- OGHAM SPACE MARK
U+180E -- MONGOLIAN VOWEL SEPARATOR
U+2000 -- EN QUAD
U+2001 -- EM QUAD
U+2002 -- EN SPACE
U+2003 -- EM SPACE
U+2004 -- THREE-PER-EM SPACE
U+2005 -- FOUR-PER-EM SPACE
U+2006 -- SIX-PER-EM SPACE
U+2007 -- FIGURE SPACE
U+2008 -- PUNCTUATION SPACE
U+2009 -- THIN SPACE
U+200A -- HAIR SPACE
U+2028 -- LINE SEPARATOR
U+2029 -- PARAGRAPH SEPARATOR
U+202F -- NARROW NO-BREAK SPACE
U+205F -- MEDIUM MATHEMATICAL SPACE
U+3000 -- IDEOGRAPHIC SPACE
I have other commands that tell me for more than everything you ever wanted to know about a particular code point. For example:
$ uniprops -a 'NARROW NO-BREAK SPACE'
U+202F ‹ › \N{NARROW NO-BREAK SPACE}
\s \h \pZ \p{Zs}
All Any Assigned Blank InGeneralPunctuation Changes_When_NFKC_Casefolded CWKCF Common Zyyy Z Zs General_Punctuation Gr_Base Grapheme_Base GrBase HorizSpace Print Separator Space Space_Separator SpacePerl XPerlSpace White_Space WSpace X_POSIX_Blank X_POSIX_Print X_POSIX_Space
Age=3.0 Bidi_Class=Common_Separator BC=CS Bidi_Class=CS Block=General_Punctuation Canonical_Combining_Class=0 Canonical_Combining_Class=Not_Reordered CCC=NR Canonical_Combining_Class=NR Script=Common Decomposition_Type=Nb Decomposition_Type=Nobreak DT=Nb
Decomposition_Type=Non_Canon Decomposition_Type=Non_Canonical DT=NonCanon East_Asian_Width=Neutral Grapheme_Cluster_Break=Other GCB=XX Grapheme_Cluster_Break=XX Hangul_Syllable_Type=NA Hangul_Syllable_Type=Not_Applicable HST=NA Joining_Group=No_Joining_Group JG=NoJoiningGroup
Joining_Type=Non_Joining JT=U Joining_Type=U Line_Break=GL Line_Break=Glue LB=GL Numeric_Type=None NT=None Numeric_Value=NaN NV=NaN Present_In=3.0 IN=3.0 Present_In=3.1 IN=3.1 Present_In=3.2 IN=3.2 Present_In=4.0 IN=4.0 Present_In=4.1 IN=4.1 Present_In=5.0 IN=5.0 Present_In=5.1
IN=5.1 Present_In=5.2 IN=5.2 Present_In=6.0 IN=6.0 SC=Zyyy Script=Zyyy Sentence_Break=Sp SB=Sp Word_Break=Other WB=XX Word_Break=XX