# Vertically center text on a page

How do I vertically center the text on a page?

The memoir document class provides, among a lot of other excellent things, the vplace environment.

Try:

\documentclass{memoir}
\begin{document}
\begin{vplace}[0.7]
This is some text to be centered vertically.
\end{vplace}
\end{document}


[0.7] is an optional parameter specifying the ratio of space above to space below. The default value is [1].

• This is great! I am using memoir, so I prefer this solution. – Neil G Aug 27 '10 at 7:05
• Fantastic! I think we ought to start a memoir fanclub... – Brent.Longborough Aug 27 '10 at 11:49
• I haven't tried your code above. But I am not sure your code will produce an exact vertically-centered object since I notice your code does not specify \topskip0pt right before \begin{vplace}[1]. For more details, see tex.stackexchange.com/questions/7286/… – xport Dec 23 '10 at 2:30
• @JoeCorneli Thanks for your suggested edit. I've left the brackets, simply to emphasise that it's an optional parameter, and reworded to clarify the rest. – Brent.Longborough Mar 7 '13 at 9:52
• Perhaps the anonymous down-voter would care to share his/her reasons here, so that I, and others, can learn and improve? – Brent.Longborough Oct 19 '14 at 12:37

This is what I found:

\begin{document}
\topskip0pt
\vspace*{\fill}
text
\vspace*{\fill}
%
\end{document}

• Very useful for stuff that does not take the placement modifiers, like equations. thanks – rll Jan 8 '16 at 11:17
• With this suggestion, I get a perfect vertically center text on a page, but I get several blank pages in other areas of the document. – Jh0an1 Uzca73gu1 Jan 21 '16 at 11:12
• How do you solve the problem with extra blank pages like @Jh0an1Uzca73gu1 mentioned? – Daves Broadley Jan 21 '16 at 15:24
• I use the following code, suggestion of other tex.stackexchange.com thread: \clearpage \vspace*{\fill} \begin{center} \begin{minipage}{\textwidth} \centering{This is some text to be centred vertically.} \end{minipage} \end{center} \vfill % equivalent to \vspace{\fill} \clearpage – Jh0an1 Uzca73gu1 Jan 22 '16 at 11:39
• – Jh0an1 Uzca73gu1 Jan 22 '16 at 15:54

This did the job for me:

\pagebreak
\hspace{0pt}
\vfill
Centered text.
\vfill
\hspace{0pt}
\pagebreak


In ConTeXt MkIV you use standardmakeup. For horizontal centering add the additional key align=middle as in the example below.

\starttext
\startstandardmakeup[align=middle]
Centered text!
\stopstandardmakeup
\stoptext


Very simple way, like described here.

Text at the top of the page.

\vspace{5mm} %5mm vertical space

This text still at the top, 5mm below the first paragraph.

\vspace{25mm} %25mm vertical space

This text is somewhere in the middle.

\vfill

Text at the bottom of the page.

• you should provide an example of document (regardless that op didn't) which show vertical centering of text on page. – Zarko Feb 22 '18 at 1:36