Is there a way to move the to-address up (or, respectively, the date down) in the »letter« document class? With the to-address on the left and date on the right, I wish for the vertical alignment of the top row of the to-address to be the same as that of the date. Does anyone know a way of doing this?

4 Answers 4


Use the source, Luke. The letter.cls file is actually not that hard to read compared to article.cls :-)

If you redefine \opening you should be able to get what you want:

%  \ifx\@empty\fromaddress
%    \thispagestyle{firstpage}%
%      {\raggedleft\@date\par}%
%  \else  % home address
%    \thispagestyle{empty}%
%    {\raggedleft\begin{tabular}{l@{}}\ignorespaces
%      \fromaddress \\*[2\parskip]%
%      \@date \end{tabular}\par}%
%  \fi
%  \vspace{2\parskip}%
%  {\raggedright \toname \\ \toaddress \par}%
    \toname \\ 

The commented-out part is a switch based on whether a from-address is given. I'm assuming you aren't using a from-address since otherwise you would have specified where you wanted it.


Starting from Matthew's answer, I looked in the letter.cls file, and I found two values that I manually changed to fit my bill.

Note that this worked for my single-page, very simple letter; it is not guaranteed to work for you.

  1. Start with this (found somewhere on the internet):


    This will reduce the margin a little bit.

  2. However, that wasn't enough for me, so I searched in letter.cls for the phrase @texttop, and found that adding the following changed the margins on the first page to what they are on the rest of the page:


Good luck!

  • Hey simple and gut. Thanks it worked wonderfully! Jul 11, 2016 at 8:40
  • This seems much better than the accepted answer. Perhaps addtolength would be better: \addtolength\topmargin{-2cm}. May 1, 2020 at 11:27

You may take a look at more sophisticated classes like »scrlttr2« from KOMA Script (see also this question) or newlfm (for remarks see this question).


I found it easier to simply alter the textwidth and margin parameters. For instance, you can insert the following commands in the preamble and change the numbers to tweak the spacing as you like. You can also insert multiple \\ at the end of the \address (or end of the \date) gives more space between the return address and the actual start of the letter.

\textwidth16cm \textheight21cm \oddsidemargin-0.1cm \topmargin-2.25in
  • 3
    Instead of insterting lots of \` you could also use \vspace{<length>}` Sep 21, 2012 at 9:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .