How to mail merge from Excel to Word

This end-to-end tutorial will teach you how to effectively mail merge in Word using an Excel sheet as the data source.

Mail Merge can be a real time-saver when it comes to sending mass mailings. It lets you quickly create custom letters, emails or mailing labels in Word by merging the information you already have in your Excel spreadsheet. This tutorial provides an overview of the main features and explains how to do a mail merge from Excel step-by-step.

Mail Merge basics

A mail merge may look like a daunting task, but in fact the process is pretty simple.

To get a grasp of the basics, you can think of it in terms of 3 documents.

  1. Excel source file with information about the recipients such as names, addresses, emails, etc.
  2. Word document with codes for the personalized fields.
  3. The final Word document with personalized letters, emails, labels, or envelopes.

The goal of the mail merge is to combine the data in File 1 and File 2 to create File 3.
Mail Merge from Excel to Word

Preparing Excel spreadsheet for mail merge

When you run a mail merge, your Excel file will get connected to your Word document, and Microsoft Word will be pulling the recipient details directly from the connected worksheet.

Before running a mail merge in Word, make sure your Excel file has all the information you want to include such as first name, last name, salutation, zip codes, addresses, etc. If you want to add more details, you'd better do this before starting the merge.

Important things to check:

  • Your Excel sheet has one row for each recipient.
  • The columns in the spreadsheet match the fields you want to use in a mail merge. For instance, if you wish to address the recipients by their first name, be sure to create separate columns for the first and last names. If you intend to sort the contacts by state or city, verify that you have a separate State or City column.
  • If your Excel file contains postal codes or any other numbers with leading zeros, format them as text to retain zeros during a mail merge.
  • If you create an Excel spreadsheet by importing information from a .csv or .txt file, this tutorial will help you do that right: Importing CSV files into Excel.
  • If you plan to use your Outlook contacts, the following article may be helpful: How to export Outlook contacts to CSV.

Here's an example of an Excel sheet that can be used for a mail merge:
Excel sheet as a data source for mail merge

How to mail merge from Excel to Word

Once the source data spreadsheet is set and reviewed, you are ready to run the mail merge. In this example, we will be merging letters. For email messages, the steps will be essentially the same.

  1. Create a Word document. If you have already composed your letter, you can open an existing document, otherwise create a new one.
  2. Choose what kind of merge you want to run. On the Mailings tab, in the Start Mail Merge group, click Start Mail Merge and pick the mail merge type - letters, email messages, labels, envelopes or documents. We are choosing Letters.
    Choose what kind of mail merge you want to run.

  3. Select the recipients. On the Mailings tab, in the Start Mail Merge group, click Select Recipients > Use Existing List.
    Select the recipients.

  4. Connect Excel spreadsheet and Word document. Browse for your Excel file and click Open. Then, select the target sheet and click OK.
    Connect your Excel spreadsheet to the Word mail merge document.

    By setting the connection between your Excel sheet and the Word document you ensure that your mail merge data source will be automatically updated each time you make changes to the Excel file that contains the recipient details.

  5. Refine the recipient list. If you want to exclude certain recipients, then click the Edit Recipient List button in the Start Mail Merge group.
    Edit Recipient List

    The Mail Merge Recipients dialog pops up, and you check or uncheck checkboxes to add or remove the recipients from the mail merge.
    Add or remove recipients.

    Tip. You can also sort, filter and dedupe the recipients list as well as validate the email addresses by clicking the corresponding option under Refine Recipients List.

    When the recipients list is finalized, you are ready to start on the letter. Type the text directly in a Word document or copy/paste from an external source.

  6. Add Address Block and Greeting Line. Now it's time to add placeholders for the Address Block and Greeting Line for Mail Merge to know exactly where to place that data. To add a placeholder, click the corresponding button on the Mailings tab, in the Write & Insert Fields group.
    Add placeholders for the Address Block and Greeting Line.

    Depending on which merge field you are inserting, a dialog box will appear with different options. Select the ones that work best for you, observe the results in the Preview section and click OK. To switch to the next or previous recipient, use the right and left arrows.
    Inserting the Address block placeholder.

    Tip. If Word pulls wrong information from the Excel file, click the Match Fields button to match a specific field.

    When done, the merge field placeholders will appear in your document like shown in the screenshot below:
    The Address Block and Greeting Line are inserted in a mail merge document.

  7. Insert merge fields. In some cases, adding only the Address block and Greeting line will suffice. When the letter is printed out, all the copies will be identical except for the recipients' names and addresses.

    In other situations, you may wish to insert more merge fields to personalize your letters a little further. To do this, place the cursor exactly where the personal information should appear in the letter, click the Insert Merge Field button on the ribbon, and choose the field from the drop-down list.
    Inserting a merge field.

    If a merge field is inserted within the text, make sure there are spaces on both sides of it:
    The merge field is inserted in a letter.

  8. Preview the results. To verify that the recipient details correctly appear in the letter, click the Preview Results button on the Mailings tab, and then use the left and right arrows to switch between the recipients.
    Preview the mail merge results for each recipient.

  9. Finish mail merge. If you are happy with all the previews, head over to the Finish group and click the Finish & Merge button. Here you can choose to print the letters or send them as email messages. To make some edits before printing or emailing, click Edit Individual Documents. A new document will open, and you will be able to make the changes in each particular letter.
    Finish mail merge and print or email documents.

  10. Save the mail merge document. Save the mail merge results as a usual Word document by clicking the Save button or pressing the Ctrl + S shortcut.

Once saved, the file will stay connected to your Excel mailing list. When you want to use the mail merge document again, open it and click Yes when Word prompts you to retain that connection.
Re-opening the mail merge document.

Using step-by-step Mail Merge Wizard

In addition to the options accessible on the ribbon, the same features are available in the form of the Mail Merge Wizard.

To start the wizard, go to the Mailings tab and click Start Mail Merge > Step-by-Step Mail Merge Wizard.
Starting the Mail Merge Wizard

Once clicked, the Mail Merge pane will open on the right side of your document and walk you through the process step-by-step.
The Mail Merge Wizard can walk you through the merge process step-by-step.

In my opinion, working with the ribbon is more convenient as it lets you use exactly the feature you need at the moment. When doing the mail merge for the first time, the wizard's step-by-step guidance may come in helpful.

How to get mail merge to match fields

For Word Mail Merge to recognize fields correctly, you need to be very specific with the column names in your Excel file. This is especially true for the Address Block and Greeting Line features.

  • For the Name fields, First Name and Last Name work without a hitch. Other column names may cause matching failures.
  • For the Address fields, use the full words such as Address, City, State, Postal code, or Zip code.

If your data source in Excel has different column names, you will have to match the fields manually. Here's how:

  1. In the Insert Address Block or Insert Greeting Line dialog box, click the Match Fields button. (This button is also available on the Mailings tab, in the Write & Insert Fields group.)
    Match mail merge fields.
  2. In the Match Fields dialog box that pops up, you will see the list of fields required for a given block. To match a specific field, click the drop-down arrow next to it, and pick the correct field from the list.

    In the screenshot below, we've matched the Street column from our Excel source data file to the Address 1:
    Matching a specific field

Mail Merge shortcuts

If you do a mail merge in Word on a regular basis, learning a few shortcuts can save you quite a lot of time and make you more productive.

Shortcut Description
Alt+F9 Switch between all field codes and their results in a mail merge document.
Shift+F9 Display the coding of the selected field.
F9 Update the selected filed. Place the cursor anywhere in the field and press F9 to update it.
F11 Go to the next field.
Shift+F11 Go to the previous field.
Alt+Shift+E Edit the mail merge document. Note, this will break the connection between your Excel file and Word document, as a result your mail merge source won't be automatically updated any longer.
Alt+Shift+F Insert a merge field from your mail merge source.
Alt+Shift+M Print the merged document.
Ctrl+F9 Insert an empty field.
Ctrl+F11 Lock a field. The field results won't be updated when the information in the Excel source file changes.
Ctrl+Shift+F11 Unlock a field. The field results will be updated again.
Ctrl+Shift+F9 Unlink a field. The field will be permanently removed from a document, replaced by its current value and from then on treated as normal text.
Alt+Shift+D Insert the DATE field that displays the current date.
Alt+Shift+T Insert the TIME field that displays the current time.
Alt+Shift+P Insert the PAGE field that displays the page number.
Alt+Ctrl+L Insert LISTNUM field.

Hopefully, this information has been helpful, and now you know how to perform mail merge from Excel to Word correctly. Thank you for reading!

145 comments

  1. Hi,
    I'd like to produce statements for members of a charity. I would like to use mail merge feature in Word combined with the dynamic arrays in Excel so that every member will get a unique letter showing what he owes and the details of all payments. any leads ?

  2. If you only need to produce separate files (PDF or Words) and do not need to email them out, then there are tools for this. One called MergeGuru and another called Edi TextEditor. Just a tip!

    • Thanks a lot, your comment is helpful

    • I want to write letter for more than 108 customer. How can convert to word the latter

  3. Hi Svetlana

    Thank you so much for your resources. You are extremely helpful. Would you perhaps know how to have the source file (excel) open when the mail merged document (word) is opened? I have seen this before but I am not quite sure how. Thank you once again.

    Best regards,
    Justus

  4. Very helpful, thank you!

  5. This is a great tutorial for an excel-word mail merge on a PC. Do you know of a similar tutorial for Mac? I recently started a new job and am using a Mac for the first time and the process is quite different. I'm sure I'm not doing it in the most efficient way, so any assistance would be very helpful.

  6. thanx for teaching me about mailing merge

  7. Hi, Ms. Svetlana

    Thanks for this wonderful tutorial,

    I could finish off the mail merging without any hitch.

  8. Hi

    I am learning today for the first time.

    I want to do a mail merge using excel spreadsheet, merged with a Word text letter which will go out to 200 different people.
    I need to change the subject on each email, is this possible.
    I will be using first column with name in the 2nd column i will be using a different subject in each row the 3rd column will be the e mail address I am sending.

    How do I do this basically 3 columns with every row having a 1 different name, 2 different subject ( this goes in the subject row on outlook ) 3 different e mail address.

    I have been informed this can be done

    NOTE: A mail merge can just as easily be an email merge. Add a column to your excel spreadsheet that contains the email address to send each merged letter to. Under 'Finish and Merge', select 'Send Email Messages' and for the TO specify the column name that contains the email address and specify the SUBJECT to use.

    Please advise

  9. Hi Svetlana,

    Thanks for sharing this. I was wondering if you have an idea on how to deal with hyperlinks.
    1. My dataset is in excel
    2. Word has a title that needs to be hyperlinked using Mailmerge.
    3. In Word - Hyperlink targets the correct page in PDF

    what should happen:
    merge from excel and automatically update the link in word targeting the correct page in pdf
    What I did:
    dataset inn excel:
    1. title of report. 2. pdfname. 3. pagenumberinpdf

    Word merge fields: {mergefield "pdfname.pdf#page={mergefield pagenumberinpdf }"}
    The above is not working when save as html. It can link, but not targeting the correct pdf page. Only goes to page 1

    I need to apply this "pdfname.pdf#page=page number in pdf" to the hyperlink in word.
    So that when a user click the link, it will go to the target pdf page.

    I need to save the word in HTML for final output.

    Appreciate your input on this.

    Regard,
    MikeT

  10. Hi

    I wanted to get symbols like +/- ( i.e +2.00 or -3.00)
    mostly i get "-" symbols
    i am failing to get "+" symbol even there is a "+" symbol in excel sheet
    I am using my filed code is { MERGEFIELD RE_CYL \#0.00 }
    please give me the correct filed code

    I shall be thankful
    V. Kiran Kumar

  11. Sorry my previous reply was not posted correctly

    You can use the Directory type.
    Then sort (group) the list based on the values in column 'site'.
    Then use the {IF ... } clause to put { QUOTE 12 } which force a new page, if a change on 'site' value is detected. Assume Site is the column name (remember use Ctrl+F9 to create the { ... } )

    {IF MERGESEQ = 1 '{SET SiteName { MERGEFIELD Site }}{ MERGEFIELD Site }' }
    {IF {REF SiteName} < > { MERGEFIELD Site } '{QUOTE 12}{ MERGEFIELD Site }{SET SiteName { MERGEFIELD Site }}' }

    • this is to answer the question by Shaik (above).

  12. You can use the Directory type.
    Then sort (group) the list based on the values in column 'site'.
    Then use the {IF ... } clause to put { QUOTE 12 } which force a new page, if a change on 'site' value is detected. Assume Site is the column name (remember use Ctrl+F9 to create the { ... } )

    {IF MERGESEQ = 1 '{SET SiteName { MERGEFIELD Site }}{ MERGEFIELD Site }' }
    {IF {REF SiteName}\ { MERGEFIELD Site } '{QUOTE 12}{ MERGEFIELD Site }{SET SiteName { MERGEFIELD Site }}' }

    • the not equal is missing. Should have the < &gtl;

  13. I have a requirement I have a data I Excel ware I want to prepair multiple quotation. From excel to word using mail merging. Issue is how can I filter item of sites and it should Come in 1 single page in a table. For example I have a site it need 10 items It should filter and all that 10 items listed should come in one page. 2 site having 5 items it should Come auto. It's is option available in mail merging. Please guide

    • You can use the Directory type.
      Then sort (group) the list based on the values in column 'site'.
      Then use the {IF ... } clause to put { QUOTE 12 } which force a new page, if a change on 'site' value is detected. Assume Site is the column name (remember use Ctrl+F9 to create the { ... } )

      {IF MERGESEQ = 1 '{SET SiteName ''}{ MERGEFIELD Site }' }
      {IF {REF SiteName} { MERGEFIELD Site } '{QUOTE 12}{ MERGEFIELD Site }{SET SiteName { MERGEFIELD Site }}' }

      • This reply no correct. see below

  14. Good day Madam

    Thank you very much for your helpful information It gave me a clear understanding more about BCA[Business Computer Applications] on the Mail Merge side now I'm confident about this topic and I'll be writing tomorrow knowing I got 80-90% idea on what I will be applying to the knowledge I got through this ethical and professional page

  15. I am merging a list of excel names into folder labels in Word. The second page of labels begin with the second names on the list and the third page with the third name on the list.

  16. Thank you. This is very helpful!

  17. Dear Madam

    I want to merge field from excel sheet in word through address mailing. The problem is this how can I transfer data from excel to word without disturbing the font size in word. ie. Iw ant that the font size in word sheet should be the same of excel sheet.
    Thanks
    Regards
    krishan Goyal

    • I have tried this but it will not work. Any style formatting from Excel can't be transferred into the merge field in Word.

  18. I have been using mail merge for sometime now. However, not all the data in excel is being transferred to the word document. what would be the problem and what is the remedy?

  19. Hi,

    If the Excel data get updated how it will be sync in word using mail merge?

  20. Dear Madam,

    How to save addresses in excel for preparing invoices.(daily uses). Is there any shortcut to paste address directly on invoice. we are preparing invoices in excel sheet only. Its very time taken to type address for customer. please tell me the solution how to easily save address in excel with code.

  21. Hello Maám,
    i had the data that need to be sent to receipints in excel sheetwise(Sheet1 & Sheet2). can i get the entire copy of sheet to MSWord and send that to recipients.

  22. I have successfully set up a mail merge between a word document and an excel sheet as outlined in your document. However, I need to be able to move both the sheet and the document together to different file locations. Every time I do this I have to re-establish the word/excel link.
    Is there anyway I can do this in VBA that will not require me to have to re-establish the link every time?
    Roly

  23. Hi

    I have excel data like name, phone num and address. I have a template of the letter in word format example as below, how I extract data(3 column) from excel to word.
    Hi [NAME]
    [ADDRESS]

    This is to inform you that your [PHONE NUM] will be changing to new number..........

  24. thank you very much, it is really helpful also i want to add, if you wanted to create 3.000, then you should type \@ .000 hope that'll help

  25. What is the best way to create paragraphs with data merged from an excel spreadsheet. The data excel file has a list of names and addresses.

    For example:

    1. The name of the first attendant is __________. His address is _______.

    2. The name of the second attendant is _________. His address is ______.

    I need everything in one page.

  26. I have created my ms.excel file with multiple sheets. Sometime i try to mail merge with ms excel via DDE, but i can't choose my table of sheet. The word just read my 1st sheet. Help me to choose my table of sheet via DDE...?! Thanks so much

  27. Hi,

    Please help!! I am working on a very urgent task. I have created mail merge letters, used address block by matching fields. When I preview letters, they are just fine and show all the required fields in the address block. However when I print to PDF, the address block is missing in the PDF file!!!!

    Can anyone help, what can be the issue here???

    Thanks

  28. I am doing a mail merge from excel to a form. For each person who gets a form, I want the various fields to be located in the same location on the form even though the data may be different lengths. I attempted to do this by making each field the same length for each person, adding spaces and a . to those that have shorter data. For example, I may have lastname set to 10 characters. I would enter Smith and Johnson as so - Smith . and Johnson . Smith needing more spaces to reach the total 10.

    Still the data seems to display after the merge in slightly different locations like on a new line. How can I prevent this ?

  29. I have an Excel spreadsheet with some names in red and most in black. I tried to print labels but they all print in black; how can I get the labels to print in the color used in Excel?

  30. thank you for this very helpful indeed useful article...
    it does really help me with our examination on ICT ...
    THANKS!!!

  31. I have xls file:
    1st sheet called (MyData) with multiple rows (A1:A255)(employee list) and columns (A1:P1) (employee details) with data.
    2nd sheet called (MyChart), in that sheet I have inserted a drop down menu created for (A1:A255) where I can choose one item (row) and the system shows me that row and graphs.

    so my goal is to merge that graphs to MS Words file.
    Number of MS Word files will be identical to number of employees (A1:A255)

    pls help me

  32. I want to mail merge using data in column C of an Excel file. C has a formula that uses data in column A. I have a hundred rows in the Excel sheet. For some of those hundred, A has not yet been entered, so C shows #N/A. In the Mail Merge, I don't want those records to print for which it finds #N/A in column C. How do I do that comparison? Using Skipif, Equal, and "#N/A"? It didn't work.

  33. I need to please send a prepared email with/without word document attached. The email will not contain any data to merge from an excel spreadsheet . But just be able to mail merge email addresses to send to all recepients or just selected ones on spreadsheet using windows 10.

  34. Hey! If I were needing to make a list in Word with some of the information from my Excel spreadsheet, how would I input the mail merge fields so that I can merge several different recipients over?

  35. This is awesome! Thanks so much for the walkthrough.

  36. When I do a mail merge I'm inserting greeting line and address block from a spreadsheet in excel from Gift Works. When I get the address block to be correct with first and last name this changes the greeting line to also include last name. If I change greeting line and remove last name by not matching a field to it then the address block automatically changes to only first name. I have had this problem for over a year now. Any help is appreciated.

  37. Hi, I am using Excel and Word 2013... the problem is that making a mailmerge with DDE does work anymore... do not know what to do... and using the OLE DE Database is changing my cell total format (it becomes from 767.73 to 767.73000000000002)....... would you have a way to change the toggle to round the number or respect the format???
    thanks

    François

  38. Sir i am using microsoft office 2007 and mail merged also done, but actually I ant thousand separator as like = 21,22,85,535.00 but not possible, please help

  39. I was wondering if you may be able to advise me please? I am attempting to send out a mail merge to companies using a large excel spreadsheet as the data source for the merge. Many of the companies have numerous employees and when I do the merge, it produces separate letters where I would like the individuals names to all be on one letter (save postage). So far I have had to slowly go through and cut and paste employees names from the letters below and then delete that letter (very time consuming when you are sending out hundreds!) I have tried merging the cells for the companies with multiple employees hoping they would all go onto one letter but that did not work. Please would you be able to offer any advice?! Many thanks

  40. We merge our letters with information from Donor Perfect into a csv file in excel. We include a dollar amount when appropriate. When the excel file was set up, one merge field was Amount_. The DP software will not recognize that heading. It is looking for Amount. I spoke to the tech at DP, and he said that it was a problem exclusive to that file that was set up in our software. How do I correct this merge field? How do I find the merging document to correct it? I have tried everything and cannot find how to correct a merge field.
    Thanks for any information you can share.

  41. HI
    I am trying to mail merge from excel to word but I need my information to run in snaking sequence. I am doing it for a seating arrangement plan according to their index numbers. I need the index numbers to run in a snake. please help me. Thanks

  42. I have an excel document with a list of users and their assigned line managers. I want to send each line manager 1 email with all their associated users. How can I do this in mail merge, with a rule? Or do I need to concatenate the users into one cell for each line manager? Help!

  43. Hi, I'm merging an excel doc to word, but after I merge the information it changes color. So I'm trying to figure our how to prevent that. Please help!

  44. Hi, I have done my mail merge however when I click Preview Results is not work. I can't see any preview. If I click edit individual letters then I only can see the output. Pls advise.

  45. I have an excel spreadsheet with all my info on there is one mailmerge that I can not get right. in cell A1 I have a time as 7:00 am in cell B1 I have end time as 8:00 pm in cell C1 should be the total of 13 hrs. cell A and cell B are formatted as time 1:30 cell C is formatted as custom h:mm and shows as 13:00 but when I merge this info to my word document the 13:00 shows as 1 hr. it works with anything under 12 hrs but over 12 hrs it only come out with 1 hr for 13 2 hrs for 14 hrs. like it does not recongnize anything over 12 hours. help please

  46. I have an advanced question regarding a e-mail merge with an excel spreadsheet. I created the e-mail merge document with a table that is showing purchases from multiple suppliers down the left side of the table and the two columns are broken down by customer purchase amounts. I have been able to bring all of the column information into the mail merge, however I want each customers mail merge table to total can you help me?

  47. If some of my excel sheet cells formatted with different colors can I transferred such data with same color in Word through Mail Merge? Is that possible?

    Regards
    Shehbaz

  48. Is there a possible to import the contents of a large excel sheet into a word document table? The word doc has 2 columns in layout.

    How do you get the mail merge function to pick all the other row data after populating the first row? The <> seems to publish into a new second page and not the second row of the created table

  49. I am having 1065 details of my 45 branches and I need to send mails for 45 branches with the details in single mail for single branch with multiple lines. Currently I am sending around 1065 mails in a month. Help me to solve this. Expecting your reply.

  50. I have completed the mail merge as per your instruction. However, there seems to be a constriction on the number of columns and I am not able to increase the number of columns. Moreover, when I choose the option Insert Merge Fields it reflects ""Automergefield and this is restricted to a maximum of 8 fields.My question is how to increase the number of fields for that corresponding excel sheet.

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)