Adjusting Outlook's Zoom setting in Email

Last reviewed on June 9, 2014   —  55 comments

I get quite a few complaints from people who say their fonts are tiny (or huge) or the font used for the reply shrinks yet Microsoft Outlook shows they are using a normal size font (such as 10 or 12 pt).

This is caused by the zoom setting. The easiest fix is to hold Ctrl as you roll the mouse wheel (this is the likely cause for many people).

Keyboarders can use the Ctrl and plus (+) or minus (-) keys to change the zoom level in increments or Ctrl and the zero (0) key to go to 100%. You can also click the Zoom button and set it back to 100%.

You can also use the Zoom button on the ribbon. Click it to open the zoom dialog and select the desired zoom level.

Zoom button on ribbon

Outlook 2010 (and Outlook 2013) have a zoom slider in the main Outlook window status bar (under the To-Do bar on the right side). Use this slider to adjust the zoom in the reading pane. If you prefer, you can click on the zoom % (100% in the screenshot) to open the zoom dialog.

zoom slider in status bar

Many times when you make the change to a message you are composing and send it, the next message you compose reverts to the goofy zoom setting. This is because making changes to a message then sending the message applies the changes to that message only. If you make the changes then close the message, it should apply the changes to all future messages.

Note that changing the zoom setting is not persistent for reading messages. To make the zoom level persistent, you need to use an add-in or a macro. A list of zoom tools is in the Tools Section and you'll find a macro on page 2: Macro to set the zoom level

The "zoom problem" generally affects only messages you compose. If you are receiving messages with huge letters and the font size is large (e.g., 100 pt), see Help! My Fonts are Huge!

When composing message, zoom is always on

When the font is smaller (or larger) than the font size indicates, click the zoom button to changeWhen zoom is stuck on a value (usually a tiny font), you can reset it by changing the zoom level then closing, but not sending, the message. If you change the zoom level then send, the change applies only to the message you changed, not to future messages.

  1. Open a new message
  2. Click the Zoom button on the ribbon
  3. Change the zoom to the desired level
  4. Close the message.
  5. Click new message (or reply) and the zoom should be the desired level.


Zoom Email Windows

The Zoom Email Windows tool for Outlook automatically zooms all Outlook reading pane windows. It zooms every Outlook window to your specified zoom factor. It's perfect for being able to instantly and clearly see the email and other Outlook windows. Enter code WD9BHK53 during checkout.


ZoomIn can save your preferred Outlook email zoom setting.

Set the zoom level using VBA

You can use VBA to force the zoom level in Outlook 2007, Outlook 2010, or when using Word as the email editor. Don't forget to set the desired zoom level in this line:
wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = 150
To use the macro:

  1. Set your macro security to Low.
  2. Open the VB editor using Alt+F11
  3. Expand Project1 to show ThisOutlookSession
  4. Paste the macro in ThisOutlooksession
  5. Set a reference to Microsoft Word in Tools, References
  6. Click in the Application_Startup macro and press the Run button to kick start it without restarting Outlook.

Option Explicit
 Dim WithEvents objInspectors As Outlook.Inspectors
 Dim WithEvents objOpenInspector As Outlook.Inspector
 Dim WithEvents objMailItem As Outlook.MailItem
 Private Sub Application_Startup()
 Set objInspectors = Application.Inspectors
 End Sub

Private Sub Application_Quit()
 Set objOpenInspector = Nothing
 Set objInspectors = Nothing
 Set objMailItem = Nothing
 End Sub
Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
 If Inspector.CurrentItem.Class = olMail Then
 Set objMailItem = Inspector.CurrentItem
 Set objOpenInspector = Inspector
End If
 End Sub
 Private Sub objOpenInspector_Close()
Set objMailItem = Nothing
 End Sub
Private Sub objOpenInspector_Activate()
Dim wdDoc As Word.Document
 Set wdDoc = objOpenInspector.WordEditor
 wdDoc.Windows(1).Panes(1).View.Zoom.Percentage = 150
End Sub

About Diane Poremsky

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Please post long or more complicated questions at Outlook forums by

55 responses to “Adjusting Outlook's Zoom setting in Email”

  1. Bill

    Thanks for the effort, but this does not work for me (running Outlook 2010 32 bit on a win 7/64 bit system). After adding the macro and restarting Outlook, the macro doesn't operate.

    1. Diane Poremsky

      What is your macro security setting? File, options, trust center - macro security.

  2. Randy Dugger

    In order for this to work, you need to change the following line:
    Private Sub Application_Quite()

    Private Sub Application_Quit()

    The original author had a typo. Be sure to enable Macros in Outlook in order for this to work, then close/open Outlook. You can adjust your default zoom level by changing the 140 (zoom %) to a lesser number.

    1. Diane Poremsky

      Thanks for catching that typo. Tip: to avoid closing outlook, click in the Application Startup macro and press the Run button.

  3. Matz Höög

    I get a Compile error: User-defined type not defined on the row "Dim wdDoc as Word.Document" when I double-click a message to read it in a new window.

    It works when I create a new message.

    I have Outlook 2013 (and Word 2013) on a Win7 Pro 64-bit.

  4. Jeffrey Harris

    I had to make a few adjustments. First, I needed to change "Private Sub Application_Startup()" to "Public Sub Application_Startup()" for macro to appear in the macro entries. Second, I had to add a reference to the Word library to resolve the reference to word.document.

    It now works, but only when I open and close messages from a folder. If I navigate from message to message, it reverts back to 100% after the first message.

    Is there a way to make this work when navigating from message to message?

    1. Diane Poremsky

      You really don't need startup macros to be listed in the macro list - it should start when Outlook starts. Thanks for mentioning that I forgot to mention the reference to word.

      I'll look into making it change when browsing - I'm not sure its possible (at least using simple code) because of the way the window is identified.

  5. steve

    I just downloaded office 2013 and in outlook 2013 my zoom bar is stuck on matter what I try it is frozen on 10%. I tried to use the control button, I tried to turn the zoom function off and on again to no avail. Any suggestios would be much apprecaited.

    1. Diane Poremsky

      Did you try restarting Outlook or even rebooting? Does clicking on the button next to the slider (where i presume it says 10%) open the Zoom dialog?

  6. kit

    I have the same problem, this script doesn't work with Outlook 2013 on a Win7 Pro 64-bit.

    1. Diane Poremsky

      Do you get any error messages? (It's working here in Outlook 2013 on Windows 7.)

  7. Diane Poremsky

    As an FYI, i was able to repro - if the reading pane is turned off, the zoom slider will be grayed out and show the last used zoom setting.

  8. Ivo

    Its not working for me. What does mean:
    Set a reference to Microsoft Word in Tools, References?
    After press F5 I get the line : Private Sub objOpenInspector_Activate() yellow and wdDoc As Word.Document is highlithed.

    1. Diane Poremsky

      In the VBA Editor, go to Tools menu, select References. Find Microsoft Word in the list and add a checkmark.

  9. MAC C

    Thanks. Worked for me, Windows 8 & Outlook 2013. Do you know a way to adjust the zoom setting for the Reading Pane(email preview)?

    1. Diane Poremsky

      No, sorry. AFAIK, the reading pane is not programmable, other than turning it on and off.

  10. Kevin Meyer

    Thanks Diane, you helped solve a problem that has bugged me for a VERY long time!
    Warm regards, Kevin

  11. Murtaza

    excellent work i have just pasted that changed the email address and it worked for me can you plese let me know how can i auto enable it and how can i make it auto run on any other person computer.

    1. Diane Poremsky

      The zoom macro should run automatically. If you are talking about a different macro, I'll need to know which one.

  12. N P Postlethwaite

    You are a superstar Diane thank you - great advice changed my screen back to normal again with your advice

  13. Jess

    Thanks for the code. Is it possible to make it work only for some specific mails? I have some mails sent from MacBook, they always appear in tiny fonts (like 7.5 pt). I am looking for some tips to automatically change their fonts to a fixed size (Say 14 pts)...

    This is a known problems for a long time and no one ever succeeded in fixing it. This script looks promising

  14. Rixter

    Once this is applied, if I turn up the macro security again, the script stops running. Is there anyway to trust this particular script?

    1. Diane Poremsky

      You need to sign it with selfcert then trust your selfcert certificate.

  15. Rixter

    Thanks Diane. I'm getting all the bits and pieces done, but its not coming together. I have cert attached to my macro, but I would like that macro (which is the OutlookDefaultZoom) to run whenever Outlook is launched, automatically. Without having to add it to my toolbar. Is there any handy documentation on that?. Thanks

  16. Rixter

    Thanks Diane. After applying the cert properly, it all came together. Much appreciate the macro and the online assistance.

  17. zoomer

    yeah! Thanks. I used Message / Zoom. That did the trick.

  18. Jimbo

    This script is only for reading email in their own windows correct? I did it and it works for that, but not for the dreaded reading pane. Was is also supposed to do the zoom automatic on the reading pane?

    1. Diane Poremsky

      The macro is for messages opened in their own windows. Ctrl+mouse wheel will adjust the reading pane, but it's not persistent. :(

  19. Parinibbana

    I too would like to find a way to fix the zoom in the dreaded reading pane. Ctrl+mouse works, but is burdensome if you just want to have a brief look at the contents of an email.

    Usually I would just use the arrow-down-key to go from one email to the next. Having to grab the mouse for every email doesn't sound like a desirable solution to me.
    Any further ideas of how to tackle this issue, Diane?

    1. Diane Poremsky

      You can set the font larger for plain text messages but your options are limited to the zoom control for html. Sorry.

  20. sam j

    I love the macro, thanks so much! Much better than having to install an add in which costs money.

  21. Jeewan Dabideen

    Works great, thank you! It sucks that no one can get the preview pane zoom to be permanent. The closest I have used was this add-on called Zoom Email. it works okay but you see it zoom in every time you click an inbox message.

  22. ray

    Is it possible to do something similar for the reading pane?

    1. Diane Poremsky

      The reading pane is not programmable, so you need to change the zoom manually. Sorry.

  23. Paul Poissenot

    Diane, I am using Windows 8 office 2013. The macro works but I had to remove the module that is created in VB and add a class module then paste code and save. Is there a way to get the macro to work on emails that open automatically after you delete or hit next on the first email. It is only working when I select the email from the inbox. It does not work on emails that open automatically.

    1. Diane Poremsky

      As far as I know, no, you can't make it work on messages that open like that, because the macro doesn't detect the change. This line is looking for a new window to open: objInspectors_NewInspector but when the next message loads automatically, a new window doesn't open.

    2. Keith

      Played around with the macro a little. I'm not much of a VB guru. Even though a new window does not open, the objInspectors_NewInspector is acted on. The problem seems to be how Windows itself is recognizing focus. As currently written when you use the next or previous item buttons the message is displayed with the default zoom until the focus is switched like a left mouse click then a right mouse click. I'm not sure its the best work around but I added a line to the macro: AppActivate ("Inbox - - Outlook") just before the End If of the objInspectors_NewInspector section. This switches the Windows focus back to my inbox before the next message opens. With the focus moving back and forth the macro sets the zoom level as desired.

      Note: in the line I added what is between the quotes is the exact title of my inbox window. This will be different for everyone. Just use the title from your inbox window exact as it appears.

    3. ray

      Keith - I'm presuming this still doesn't work for the email preview window. Right?

    4. Diane Poremsky

      That is my assumption, but we'll see what Keith has to say. :)

    5. Keith

      Correct, it does not work for the preview pane. That's the key there. It is a preview pane not a window. Again, I'm no Microsoft or VB expert. This macro hinges on new windows opening. There have to be commands or data fields that recognize when the preview pane changes (Microsoft does it. They change icons in the command ribbons when the preview pane changes) but I have not spent the time researching what they may be.

    6. Diane Poremsky

      At this time, it is not possible to affect the preview pane using VBA. Just because Microsoft can do it doesn't mean its possible for everyone to do it using VBA - Microsoft doesn't expose the features in the object model. You'd need to use Redemption, which is an application that exposes a lot of low level Extended MAPI objects and properties previously unavailable in VBA, but as of this writing, it does not expose any reading pane objects AFAIK.

  24. Mark Nelson

    How does one remove the macro? The Remove option seems to be greyed out. Thanks. Mark

    1. Diane Poremsky

      You select and delete the code from the VB Editor - press Alt+F11 to open the VB Editor, locate the macro then select all and delete.

  25. Ayman

    thanks a lot. this is very useful

  26. Kallia

    Hi Diane,

    I'm using Microsoft Office 2011 for Mac. When I compose an email or reply on Outlook - the text is so small I have to strain my eyes even though it's on a 12 pt.
    I can't find any zoom function or anything.

    Please help me - in layman's terms :)


    1. Diane Poremsky

      I haven't found a zoom setting either. :( Try the Mac forums at Answers - someone there might know.

  27. Dan Christensen

    Dan Christensen 9/20/14 Using the control button and the scroll on the mouse worked great Thanks

  28. user5309

    I'm lost at step 4. Paste the macro where? Is that code below the instructions the actual macro? I have it loaded in a "module" right now. I do step 5 ok then lost again at step 6. I did see where I could change the drop downs in the module headers and I found and selected "Application_Startup". I then click on "run" up top and get a compile error:
    "Only valid in object module"

    1. Diane Poremsky

      Yes, the code below the steps is the actual macro, in working order. You need it in ThisOutlookSession, not a module because it runs at startup and quit and when messages are opened.

  29. StoneMan

    Hi, great post easy to follow, thank you. However, I had different expectations. This seemed to work only if I open (double click) an email in a new window. The window now defaults at a higher zoom Although this is nice, I was hoping for something that would change the zoom on the email preview pane. So when I click on an email, the preview pane would default to higher zoom. Is this possible? Thanks for your help.

  30. Cliff

    This worked fantastically, thank you! I'm trying hard not to go back to 125% Windows scaling on my work laptop, and this was one of the worst persistent problems.

    I'm not much of a VBA guy (don't know many software devs who are), so I really appreciate not having to learn it just to fix a problem that shouldn't exist in the first place! Also, credit to a MakeUseOf commenter for recommending this post. Gotta love the Internets!

  31. jmp

    Using Office 2013 including Outlook & Lync, the Macro works well for new windows, but not for the preview pane apparently - as was already said above.
    So I have 2 questions:
    1. is there a link we can use to submit this problem to MS? or to submit an improvment proposal? (like just having a small checkbox near the zoom slide to lock the zoom level in the preview pane)
    2. instead of using the Macro I tried using "windows DPI setting/set custom text size" but then it is making the Lync presence bullets in the distribution list desapear, any idea where that comes from?

  32. Godwin

    Thanks Diane...this tip just saved e a lot of hassles.

Leave a Reply

If the Post Comment button disappears, press your Tab key.

This site uses XenWord.