IronPDF How-Tos DOCX to PDF How to Convert Microsoft Word to PDF in C# Chaknith Bin Updated:July 28, 2025 A DOCX file is a document created in Microsoft Word, a word processing program within the Microsoft office suited provided by Microsoft. It uses the Office Open XML (OOXML) standard, making it efficient and compatible with various software. It's the default format for Word documents since Word 2007, replacing the older DOC format when its was originally published. IronPDF has the ability to convert word documents to PDF files in an instance, along with providing a Mail Merge feature for generating personalized batches of documents for individual recipients. Converting from DOCX to PDF ensures universal compatibility, preserves formatting, and adds a layer of security. Get started making PDFs with NuGet now: Install IronPDF with NuGet PM > Install-Package IronPdf Copy the code new IronPdf.DocxToPdfRenderer() .RenderDocxAsPdf("path/to/word/file.docx") .SaveAs("docxToPdf.pdf"); Deploy to test on your live environment Start using IronPDF in your project today with a free trial Free 30 day Trial Get started with IronPDF Start using IronPDF in your project today with a free trial. First Step: Start for Free How to Convert DOCX to PDF in C# Download the C# library for converting DOCX to PDF Prepare the DOCX file you wish to convert Instantiate the DocxToPdfRenderer class to render PDF from DOCX file Use the RenderDocxAsPdf method and provide the DOCX filepath Utilize the Mail Merge feature to generate a batch of documents Convert DOCX file to PDF Example IronPDF allows for developers to convert word documents to pdf programmatically, streamlining efficiency and allowing them to integrate into existing .NET applications or any cross platform .NET framework applications they might have. The conversion process to convert a Microsoft Word file to PDF format is simple. We first instantiate the DocxToPdfRenderer class. Utilize the RenderDocxAsPdf method of the DocxToPdfRenderer object by providing the filepath of the DOCX file. This method returns a PdfDocument object, allowing you to customize the PDF further. You can download the Modern Chronological Resume DOCX example file. Microsoft Word Preview Code Sample Additionally, the RenderDocxAsPdf method also accepts DOCX data as bytes and streams. :path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-from-file.cs using IronPdf; // Instantiate Renderer DocxToPdfRenderer renderer = new DocxToPdfRenderer(); // Render from DOCX file PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx"); // Save the PDF pdf.SaveAs("pdfFromDocx.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New DocxToPdfRenderer() ' Render from DOCX file Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx") ' Save the PDF pdf.SaveAs("pdfFromDocx.pdf") $vbLabelText $csharpLabel Output PDF Mail Merge Example Mail Merge, located on the "Mailings" tab in Microsoft Word, allows you to create a batch of documents with personalized information for each recipient or data entry. It's often used to generate personalized letters, envelopes, labels, or email messages, such as invitations, newsletters, or form letters, where much of the content is the same, but certain details vary for each recipient. Model First, let's create a model to store the information that will be mail-merged into its corresponding placeholder. :path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge-model.cs internal class RecipientsDataModel { public string Date { get; set; } public string Location{ get; set; } public string Recipients_Name { get; set; } public string Contact_Us { get; set; } } Friend Class RecipientsDataModel Public Property [Date]() As String Public Property Location() As String Public Property Recipients_Name() As String Public Property Contact_Us() As String End Class $vbLabelText $csharpLabel I have modified a template provided by Microsoft Word for our purposes. Please download the Party Invitation DOTX example file. For our use case, let's set the MailMergePrintAllInOnePdfDocument property to true, which combines the PDFs into a single PdfDocument object. The merge fields that we are going to use are Date, Location, Recipient's Name, and Contact Us. Microsoft Word Preview Code Sample :path=/static-assets/pdf/content-code-examples/how-to/docx-to-pdf-mail-merge.cs using IronPdf; using System.Collections.Generic; using System.Linq; var recipients = new List<RecipientsDataModel>() { new RecipientsDataModel() { Date ="Saturday, October 15th, 2023", Location="Iron Software Cafe, Chiang Mai", Recipients_Name="Olivia Smith", Contact_Us = "support@ironsoftware.com" }, new RecipientsDataModel() { Date ="Saturday, October 15th, 2023", Location="Iron Software Cafe, Chiang Mai", Recipients_Name="Ethan Davis", Contact_Us = "support@ironsoftware.com" }, }; DocxToPdfRenderer docxToPdfRenderer = new DocxToPdfRenderer(); // Apply render options DocxPdfRenderOptions options = new DocxPdfRenderOptions(); // Configure the output PDF to be combined into a single PDF document options.MailMergePrintAllInOnePdfDocument = true; // Convert DOTX to PDF var pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf<RecipientsDataModel>( recipients, "Party-invitation.dotx", options); pdfs.First().SaveAs("mailMerge.pdf"); Imports IronPdf Imports System.Collections.Generic Imports System.Linq Private recipients = New List(Of RecipientsDataModel)() From { New RecipientsDataModel() With { .Date ="Saturday, October 15th, 2023", .Location="Iron Software Cafe, Chiang Mai", .Recipients_Name="Olivia Smith", .Contact_Us = "support@ironsoftware.com" }, New RecipientsDataModel() With { .Date ="Saturday, October 15th, 2023", .Location="Iron Software Cafe, Chiang Mai", .Recipients_Name="Ethan Davis", .Contact_Us = "support@ironsoftware.com" } } Private docxToPdfRenderer As New DocxToPdfRenderer() ' Apply render options Private options As New DocxPdfRenderOptions() ' Configure the output PDF to be combined into a single PDF document options.MailMergePrintAllInOnePdfDocument = True ' Convert DOTX to PDF Dim pdfs = docxToPdfRenderer.RenderDocxMailMergeAsPdf(Of RecipientsDataModel)(recipients, "Party-invitation.dotx", options) pdfs.First().SaveAs("mailMerge.pdf") $vbLabelText $csharpLabel Output PDF Once the PDF document is created, you have the flexibility to make additional changes. These include exporting it as PDF/A or PDF/UA, as well as adding a digital certificate. You can also manipulate individual pages by merging or splitting PDFs, rotating them, and you have the option to apply annotations and bookmarks. Aside from those features, IronPDF also supports converting to other document formats. For additional information regarding the other functionality that IronPDF has to offer, please refer to this tutorial. Frequently Asked Questions What is DOCX format? A DOCX file is a document created in Microsoft Word using the Office Open XML (OOXML) standard. It is the default format for Word documents since Word 2007. Why convert DOCX to PDF? Converting DOCX to PDF ensures universal compatibility, preserves formatting, and adds a layer of security to the document. How can I convert a DOCX file to PDF using C#? You can use a C# library like IronPDF's DocxToPdfRenderer class and its RenderDocxAsPdf method to convert a DOCX file to a PDF. What is a PDF conversion library? A PDF conversion library is a tool that allows developers to create, edit, and convert PDF documents in .NET applications. Does the library support Mail Merge? Yes, using IronPDF, you can take advantage of the Mail Merge feature to generate personalized documents for individual recipients. Can I customize a PDF after converting from DOCX? Yes, after converting a DOCX file to PDF using a library like IronPDF, you can further customize the PDF document. What are some additional features of the library? IronPDF allows exporting PDFs as PDF/A or PDF/UA, adding digital certificates, merging or splitting PDFs, and applying annotations and bookmarks. Is there a sample DOCX file available for testing? Yes, you can download the 'Modern Chronological Resume' DOCX example file from the provided link on the page. Can the library handle DOCX data in streams? Yes, the RenderDocxAsPdf method in IronPDF can accept DOCX data as bytes and streams. Where can I download a C# PDF conversion library? You can download a C# PDF conversion library, such as IronPDF, from the NuGet package manager. Chaknith Bin Chat with engineering team now Software Engineer Chaknith is the Sherlock Holmes of developers. It first occurred to him he might have a future in software engineering, when he was doing code challenges for fun. His focus is on IronXL and IronBarcode, but he takes pride in helping customers with every product. Chaknith leverages his knowledge from talking directly with customers, to help further improve the products themselves. His anecdotal feedback goes beyond Jira tickets and supports product development, documentation and marketing, to improve customer’s overall experience.When he isn’t in the office, he can be found learning about machine learning, coding and hiking. Reviewed by Jeffrey T. Fritz Principal Program Manager - .NET Community Team Jeff is also a Principal Program Manager for the .NET and Visual Studio teams. He is the executive producer of the .NET Conf virtual conference series and hosts 'Fritz and Friends' a live stream for developers that airs twice weekly where he talks tech and writes code together with viewers. Jeff writes workshops, presentations, and plans content for the largest Microsoft developer events including Microsoft Build, Microsoft Ignite, .NET Conf, and the Microsoft MVP Summit Ready to Get Started? Free NuGet Download Total downloads: 14,817,395 View Licenses