How to Mail Merge into Separate Files
When you finish a standard Microsoft Word mail merge, you expect a folder full of individual files. Instead, clicking "Edit Individual Documents" produces one massive file containing every record. Word separates each document with a section break rather than saving it as a distinct file.
This leaves you with a single, long document. If your goal is to email each person their specific contract or save them into individual employee folders, this combined output is practically useless. Splitting it into one file per record requires extra steps. Word provides no native, simple button to output separate documents directly to a folder.
Three current ways to solve the problem
Because Word defaults to a single merged file, people generally rely on one of three methods to force it to produce separate files.
1. Manually splitting the merged document
The most common approach is brute force. You perform the standard mail merge, open the resulting massive document, and manually cut and paste each section into a new, blank Word document. You then hit save, type out the person's name as the file name, and repeat.
For five documents, this costs a few minutes. For a batch of two hundred, this costs hours of tedious labor and carries a high risk of error. It is incredibly easy to accidentally leave the previous person's name in a copied file or paste the wrong section over an existing document.
2. Buying a commercial add-in
The second method involves purchasing a third-party add-in for Microsoft Word. Several companies sell plugins specifically designed to add a "Merge to Individual Files" button to the Word ribbon.
These add-ins do solve the problem reliably, but they cost money. They also require installation, which means you need administrative rights on your computer. If you work in a corporate environment or a large school, your IT department may block unauthorized add-ins entirely.
3. Running a VBA macro
The traditional technical fix is to write a Visual Basic for Applications (VBA) macro. A macro can automatically loop through the section breaks in the combined document, copy the text of each section, and save it as a new file.
Here is a short, working VBA example that achieves this:
Sub SplitMergeIntoSeparateFiles()
Dim i As Integer
Dim DocName As String
Application.ScreenUpdating = False
For i = 1 To ActiveDocument.Sections.Count - 1
ActiveDocument.Sections(i).Range.Copy
Documents.Add
Selection.Paste
DocName = "document-" & i & ".docx"
ActiveDocument.SaveAs2 FileName:=DocName
ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges
Next i
Application.ScreenUpdating = True
End Sub
Here is exactly what this script does, line by line:
Application.ScreenUpdating = Falsestops your screen from flickering wildly as Word opens and closes hundreds of files.For i = 1 To ActiveDocument.Sections.Count - 1tells the script to look at every section break in your master document.Range.CopyandDocuments.Addcopy the text from the current section and paste it into a brand new document.DocName = "document-" & i & ".docx"assigns a generic numbered file name to the new document.SaveAs2andClosesave the file to your default folder and close it, ready to repeat the process for the next section.
While free, VBA macros carry severe drawbacks. Most corporate IT policies block macros entirely due to security risks. Furthermore, if your document contains complex formatting or headers, the macro often breaks the layout during the copy-paste step.
How to generate separate files automatically with ManyDocs
ManyDocs solves this exact problem without requiring manual work, paid add-ins, or complicated VBA scripts. It is a free, browser-based bulk document generator designed specifically to output one finished document per spreadsheet row.
Everything happens locally in your browser using JavaScript. Your files are never uploaded to any server, meaning sensitive data stays entirely on your own device.
Here is how you use it to get separate files:
- Write your template. Open Microsoft Word or LibreOffice and type out your standard document. Wherever you need a personalized detail, type a placeholder. ManyDocs accepts
((field)),{{field}}, or[[field]]syntax. - Prepare your spreadsheet. Open Excel or your preferred spreadsheet tool. Create a table where the first row contains column headers that exactly match your placeholder names. Every following row represents one document.
- Select your files. Open the ManyDocs website in a modern browser. Select your template file (either .docx or .odt) and your spreadsheet file (.xlsx, .xls, or .ods).
- Choose your file names. Select which spreadsheet column you want to use for the output file names.
- Generate and download. Click generate. ManyDocs processes the files locally and delivers all your finished documents together as a single ZIP download.
Your template files can be up to 10 MB in size. Because ManyDocs modifies only the specific text nodes containing placeholders, your original Word formatting, page layouts, tables, and headers survive completely intact.
Naming your output files
Getting separate files is only half the battle; knowing which file belongs to which person is the other half.
If you use a VBA macro or a basic script, your output files usually end up named sequentially, such as document-1.docx, document-2.docx, and so on. Numbered files are nearly useless for a batch of 200 documents. You are forced to open every single file just to figure out who it belongs to.
ManyDocs allows you to choose a specific spreadsheet column to name your output files. Instead of a folder full of random numbers, you receive a folder containing files named after your recipients, such as an employee name or an invoice number. This makes the resulting ZIP immediately usable and ready to file.
You must watch out for two critical details when naming files from a spreadsheet column:
- Duplicate values: If two rows in your spreadsheet have the exact same value in the file name column, the second file will overwrite the first. You will end up with missing documents. Ensure your chosen column contains unique data, such as combining a name and a date. ManyDocs will detect and flag duplicate spreadsheet rows before generation.
- Illegal characters: Operating systems do not allow certain characters in file names. If your spreadsheet column contains slashes (
/,\), colons (:), asterisks (*), or question marks (?), the file generation will fail or strip the characters. Ensure your naming column contains clean, safe text.
A complete worked example
To see exactly how this mapping works in practice, look at this realistic data set for an employee onboarding process.
Here is the spreadsheet data, representing five separate documents:
| EmployeeName | JobRole | StartDate | Salary |
|---|---|---|---|
| Sarah Jenkins | Operations Manager | 12 August 2026 | 65000 |
| Marcus Thorne | Graphic Designer | 15 August 2026 | 48000 |
| Elena Rostova | Data Analyst | 01 September 2026 | 55000 |
| David Chen | IT Support Specialist | 01 September 2026 | 45000 |
| Anita Patel | HR Coordinator | 15 September 2026 | 52000 |
Here is the corresponding template text you would write in your Word document:
Dear ((EmployeeName)),
We are thrilled to welcome you to the team as our new ((JobRole)). Your official start date is ((StartDate)), and your starting base salary will be ((Salary)) per year. Please sign and return the attached copy of this agreement.
When you run these two files through ManyDocs and select EmployeeName as your naming column, the tool outputs a single ZIP file containing the following five completely separate Word documents:
Sarah Jenkins.docxMarcus Thorne.docxElena Rostova.docxDavid Chen.docxAnita Patel.docx
Each file is distinct, properly named, and instantly ready to be emailed to the correct employee.
When Word's built-in mail merge is the better choice
Word is not a bad tool; it was built for a different output. While ManyDocs is strictly designed to give you one separate file per row, there are specific scenarios where Word’s default behavior is exactly what you need.
You should stick with Microsoft Word's built-in mail merge when you are printing physical mailing labels or envelopes. Word handles the precise physical layout of sticker sheets perfectly, and you absolutely want those labels locked together in one combined document so you can send them to the printer in a single job.
Word is also the better choice if you are generating a single, continuous directory or a catalogue where all records must flow seamlessly onto the same pages. If you do not actually need distinct files, use Word.
Frequently asked questions
Can ManyDocs generate separate PDF files instead of Word documents? No, ManyDocs does not export PDF. The output is strictly in DOCX or ODT formats. If you need PDFs, you must generate the DOCX files first, download the ZIP, and then use Word or LibreOffice to batch convert those finished files into PDFs.
Will my sensitive spreadsheet data be uploaded to the internet? No. Everything happens locally in your browser using JavaScript. Your spreadsheet and template files are never uploaded to any server. The parsing, placeholder replacement, and ZIP creation all run directly on your own device.
Can I email the separate files directly from ManyDocs? ManyDocs does not send email. It is not a mail-merge-to-email tool. It generates the personalized documents and delivers them to you as a ZIP file. You must use your own email client or a dedicated mass-email tool to distribute them.
Why did my dates change format in the generated document? ManyDocs reads the exact values stored in your spreadsheet. It ignores spreadsheet cell formatting entirely, including colors, fonts, and display formats for numbers and dates. To guarantee a date prints exactly as you want it, store the date as plain text in the spreadsheet.
Does ManyDocs work on a Mac or a Chromebook? Yes. Because it requires only a modern browser, it works equally well across operating systems. There is no desktop app to install, making it an excellent alternative for Mac and Chromebook users who struggle with built-in mail merge tools.