IronPDF How-Tos Create PDF Forms How to Create PDF Forms Chaknith Bin Updated:July 28, 2025 IronPDF offers a comprehensive set of form creation capabilities. It provides support for various types of form elements, including input fields, text areas, checkboxes, comboboxes, radio buttons, and image form. With IronPDF, you can easily generate dynamic PDF forms that allow users to interact with the document by filling out form fields, making selections, and saving changes. This enables you to create interactive and user-friendly PDF forms for a wide range of applications and scenarios. Your business is spending too much on yearly subscriptions for PDF security and compliance. Consider IronSecureDoc, which provides solutions for managing SaaS services like digital signing, redaction, encryption, and protection, all for one-time payment. Try IronSecureDoc Documentation Get started with IronPDF Start using IronPDF in your project today with a free trial. First Step: Start for Free How to Create PDF Forms Download IronPDF C# Library to Create PDF Forms Utilize the input and textarea tags in HTML to generate forms Specify the type as "checkbox," and the select tag will render Checkbox and Combobox Change the type to "radio" to output radio buttons in the PDF Check the generated PDF output Create Forms IronPDF effortlessly creates PDF documents with embedded form fields of various types. By adding dynamic form elements to an otherwise static PDF document, you can enhance its flexibility and interactivity. Text Area and Input Forms Render From HTML You can easily create text area and input forms to capture user input within your PDF documents. Text area forms provide ample space for displaying and capturing larger amounts of text, while input forms allow users to enter specific values or responses. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-input-textarea.cs using IronPdf; // Input and Text Area forms HTML string FormHtml = @" <html> <body> <h2>Editable PDF Form</h2> <form> First name: <br> <input type='text' name='firstname' value=''> <br> Last name: <br> <input type='text' name='lastname' value=''> <br> Address: <br> <textarea name='address' rows='4' cols='50'></textarea> </form> </body> </html> "; // Instantiate Renderer ChromePdfRenderer Renderer = new ChromePdfRenderer(); Renderer.RenderingOptions.CreatePdfFormsFromHtml = true; Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("textAreaAndInputForm.pdf"); Imports IronPdf ' Input and Text Area forms HTML Private FormHtml As String = " <html> <body> <h2>Editable PDF Form</h2> <form> First name: <br> <input type='text' name='firstname' value=''> <br> Last name: <br> <input type='text' name='lastname' value=''> <br> Address: <br> <textarea name='address' rows='4' cols='50'></textarea> </form> </body> </html> " ' Instantiate Renderer Private Renderer As New ChromePdfRenderer() Renderer.RenderingOptions.CreatePdfFormsFromHtml = True Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("textAreaAndInputForm.pdf") $vbLabelText $csharpLabel Output PDF Document Add Text Form via Code The above code example talks about rendering HTML that contains text areas and input forms. However, it is also possible to add a text form field through code. First, instantiate a TextFormField object with the required parameters. Next, use the Add method of the Form property to add the created form. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-input-textarea.cs using IronPdf; using IronSoftware.Forms; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>"); // Configure required parameters string name = "firstname"; string value = "first name"; uint pageIndex = 0; double x = 100; double y = 700; double width = 50; double height = 15; // Create text form field var textForm = new TextFormField(name, value, pageIndex, x, y, width, height); // Add form pdf.Form.Add(textForm); pdf.SaveAs("addTextForm.pdf"); Imports IronPdf Imports IronSoftware.Forms ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>") ' Configure required parameters Private name As String = "firstname" Private value As String = "first name" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 700 Private width As Double = 50 Private height As Double = 15 ' Create text form field Private textForm = New TextFormField(name, value, pageIndex, x, y, width, height) ' Add form pdf.Form.Add(textForm) pdf.SaveAs("addTextForm.pdf") $vbLabelText $csharpLabel Output PDF Document Having a text form field in a PDF without a label might not be very meaningful. To enhance its usefulness, you should add text to the PDF as a label for the form field. IronPdf has you covered. You can achieve this by using the DrawText method. Learn more about How to Draw Text and Bitmap on PDFs. Checkbox and Combobox Forms Render From HTML Similarly, checkbox and combobox forms can be created by rendering from an HTML string, file, or web URL that contains checkboxes and comboboxes. Set the CreatePdfFormsFromHtml property to true to enable the creation of these forms. Combobox forms provide users with a dropdown selection of options. Users can choose from the available options, offering valuable input within the PDF documents. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-checkbox-combobox.cs using IronPdf; // Input and Text Area forms HTML string FormHtml = @" <html> <body> <h2>Editable PDF Form</h2> <h2>Task Completed</h2> <label> <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed </label> <h2>Select Priority</h2> <label for='priority'>Choose priority level:</label> <select id='priority' name='priority'> <option value='high'>High</option> <option value='medium'>Medium</option> <option value='low'>Low</option> </select> </body> </html> "; // Instantiate Renderer ChromePdfRenderer Renderer = new ChromePdfRenderer(); Renderer.RenderingOptions.CreatePdfFormsFromHtml = true; Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("checkboxAndComboboxForm.pdf"); Imports IronPdf ' Input and Text Area forms HTML Private FormHtml As String = " <html> <body> <h2>Editable PDF Form</h2> <h2>Task Completed</h2> <label> <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed </label> <h2>Select Priority</h2> <label for='priority'>Choose priority level:</label> <select id='priority' name='priority'> <option value='high'>High</option> <option value='medium'>Medium</option> <option value='low'>Low</option> </select> </body> </html> " ' Instantiate Renderer Private Renderer As New ChromePdfRenderer() Renderer.RenderingOptions.CreatePdfFormsFromHtml = True Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("checkboxAndComboboxForm.pdf") $vbLabelText $csharpLabel Output PDF Document Add Form via Code Checkbox To add a checkbox form field, first instantiate a CheckboxFormField object with the required parameters. The value parameter of the checkbox will determine whether the form should be checked or not, with "no" value for not checked and "yes" value for checked. Finally, use the Add method of the Form property to add the created form. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-checkbox.cs using IronPdf; using IronSoftware.Forms; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Checkbox Form Field</h2>"); // Configure required parameters string name = "checkbox"; string value = "no"; uint pageIndex = 0; double x = 100; double y = 700; double width = 15; double height = 15; // Create checkbox form field var checkboxForm = new CheckboxFormField(name, value, pageIndex, x, y, width, height); // Add form pdf.Form.Add(checkboxForm); pdf.SaveAs("addCheckboxForm.pdf"); Imports IronPdf Imports IronSoftware.Forms ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Checkbox Form Field</h2>") ' Configure required parameters Private name As String = "checkbox" Private value As String = "no" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 700 Private width As Double = 15 Private height As Double = 15 ' Create checkbox form field Private checkboxForm = New CheckboxFormField(name, value, pageIndex, x, y, width, height) ' Add form pdf.Form.Add(checkboxForm) pdf.SaveAs("addCheckboxForm.pdf") $vbLabelText $csharpLabel Output PDF Document Combobox To add a combobox form field, first instantiate a ComboboxFormField object with the required parameters. Similar to the checkbox form, the value parameter of the combobox determines which choice will be selected. Finally, use the Add method of the Form property to add the created form. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-combobox.cs using IronPdf; using IronSoftware.Forms; using System.Collections.Generic; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Combobox Form Field</h2>"); // Configure required parameters string name = "combobox"; string value = "Car"; uint pageIndex = 0; double x = 100; double y = 700; double width = 60; double height = 15; var choices = new List<string>() { "Car", "Bike", "Airplane" }; // Create combobox form field var comboboxForm = new ComboboxFormField(name, value, pageIndex, x, y, width, height, choices); // Add form pdf.Form.Add(comboboxForm); pdf.SaveAs("addComboboxForm.pdf"); Imports IronPdf Imports IronSoftware.Forms Imports System.Collections.Generic ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Combobox Form Field</h2>") ' Configure required parameters Private name As String = "combobox" Private value As String = "Car" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 700 Private width As Double = 60 Private height As Double = 15 Private choices = New List(Of String)() From {"Car", "Bike", "Airplane"} ' Create combobox form field Private comboboxForm = New ComboboxFormField(name, value, pageIndex, x, y, width, height, choices) ' Add form pdf.Form.Add(comboboxForm) pdf.SaveAs("addComboboxForm.pdf") $vbLabelText $csharpLabel Output PDF Document Radio buttons Forms Render From HTML When working with radio button forms in IronPDF, radio buttons of the same group are contained within one form object. You can retrieve that form by inputting its name into the FindFormField method. If any of the radio choices is selected, the Value property of that form will have that value; otherwise, it will have a value of 'None'. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-radiobutton.cs using IronPdf; // Radio buttons HTML string FormHtml = @" <html> <body> <h2>Editable PDF Form</h2> Choose your preferred travel type: <br> <input type='radio' name='traveltype' value='Bike'> Bike <br> <input type='radio' name='traveltype' value='Car'> Car <br> <input type='radio' name='traveltype' value='Airplane'> Airplane </body> </html> "; // Instantiate Renderer ChromePdfRenderer Renderer = new ChromePdfRenderer(); Renderer.RenderingOptions.CreatePdfFormsFromHtml = true; Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("radioButtomForm.pdf"); Imports IronPdf ' Radio buttons HTML Private FormHtml As String = " <html> <body> <h2>Editable PDF Form</h2> Choose your preferred travel type: <br> <input type='radio' name='traveltype' value='Bike'> Bike <br> <input type='radio' name='traveltype' value='Car'> Car <br> <input type='radio' name='traveltype' value='Airplane'> Airplane </body> </html> " ' Instantiate Renderer Private Renderer As New ChromePdfRenderer() Renderer.RenderingOptions.CreatePdfFormsFromHtml = True Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("radioButtomForm.pdf") $vbLabelText $csharpLabel Output PDF Document Add Radio Form via Code Similarly, a radio button form field can also be added through code. First, instantiate a RadioFormField object with the required parameters. Next, use the Add method of the Form property to add the created form. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-radiobutton.cs using IronPdf; using IronSoftware.Forms; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>"); // Configure required parameters string name = "choice"; string value = "yes"; uint pageIndex = 0; double x = 100; double y = 700; double width = 15; double height = 15; // Create the first radio form var yesRadioform = new RadioFormField(name, value, pageIndex, x, y, width, height); value = "no"; x = 200; // Create the second radio form var noRadioform = new RadioFormField(name, value, pageIndex, x, y, width, height); pdf.Form.Add(yesRadioform); pdf.Form.Add(noRadioform); pdf.SaveAs("addRadioForm.pdf"); Imports IronPdf Imports IronSoftware.Forms ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>") ' Configure required parameters Private name As String = "choice" Private value As String = "yes" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 700 Private width As Double = 15 Private height As Double = 15 ' Create the first radio form Private yesRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height) value = "no" x = 200 ' Create the second radio form Dim noRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height) pdf.Form.Add(yesRadioform) pdf.Form.Add(noRadioform) pdf.SaveAs("addRadioForm.pdf") $vbLabelText $csharpLabel Output PDF Document As a final touch, use the DrawText method to add labels for the radio buttons. Learn more about How to Draw Text and Bitmap on PDFs. Image Forms via Code Image form field can only be added through code. First, instantiate a ImageFormField object with the required parameters. Next, use the Add method of the Form property to add the created form. :path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-image.cs using IronPdf; using IronSoftware.Forms; // Instantiate ChromePdfRenderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>"); // Configure required parameters string name = "image1"; uint pageIndex = 0; double x = 100; double y = 600; double width = 200; double height = 200; // Create the image form ImageFormField imageForm = new ImageFormField(name, pageIndex, x, y, width, height); pdf.Form.Add(imageForm); pdf.SaveAs("addImageForm.pdf"); Imports IronPdf Imports IronSoftware.Forms ' Instantiate ChromePdfRenderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>") ' Configure required parameters Private name As String = "image1" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 600 Private width As Double = 200 Private height As Double = 200 ' Create the image form Private imageForm As New ImageFormField(name, pageIndex, x, y, width, height) pdf.Form.Add(imageForm) pdf.SaveAs("addImageForm.pdf") $vbLabelText $csharpLabel Output PDF Document Output PDF file: View Image Form PDF. Browsers do not support image forms; please open in Adobe Acrobat to try the feature out. Unsigned Signature Forms via Code To insert an unsigned or empty signature field, start by creating a signature object. Then, access the Form property of the target PDF and use the Add method to insert the signature object. Lastly, export the PDF with the empty signature field. :path=/static-assets/pdf/content-code-examples/how-to/signing-unsigned-signature.cs using IronPdf; using IronSoftware.Forms; ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>"); // Configure required parameters string name = "cert"; uint pageIndex = 0; double x = 100; double y = 600; double width = 300; double height = 100; // Create signature SignatureFormField signature = new SignatureFormField(name, pageIndex, x, y, width, height); // Add signature pdf.Form.Add(signature); pdf.SaveAs("signature.pdf"); Imports IronPdf Imports IronSoftware.Forms Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>") ' Configure required parameters Private name As String = "cert" Private pageIndex As UInteger = 0 Private x As Double = 100 Private y As Double = 600 Private width As Double = 300 Private height As Double = 100 ' Create signature Private signature As New SignatureFormField(name, pageIndex, x, y, width, height) ' Add signature pdf.Form.Add(signature) pdf.SaveAs("signature.pdf") $vbLabelText $csharpLabel Output PDF Document Output PDF file: signature.pdf. Browsers do not support signature forms; please open in Adobe Acrobat to try the feature out. Learn how to fill and edit PDF forms programmatically in the following article: "How to Fill and Edit PDF Forms". Ready to see what else you can do? Check out our tutorial page here: Sign and Secure PDFs Frequently Asked Questions What form elements can be added to PDF forms using C#? IronPDF allows you to add a wide range of form elements including text fields, text areas, checkboxes, comboboxes, radio buttons, and image fields to PDF forms using C#. How can I convert HTML form elements into a PDF? You can convert HTML form elements into a PDF by using IronPDF's HtmlToPdf.GeneratePdf method, which transforms HTML form structures into interactive PDF forms. Can I add form fields to a PDF after it has been created? Yes, you can add form fields to an existing PDF by using IronPDF's API, which allows you to insert elements like text fields, checkboxes, and radio buttons programmatically. What steps are needed to add a text input field to a PDF using C#? To add a text input field to a PDF using C#, create a TextFormField object and utilize the Add method on the PDF document's Form property. How can I include checkboxes in my PDF form using C#? Checkboxes can be included in your PDF form by either converting HTML that contains checkbox elements or programmatically by creating a CheckboxFormField object in C#. Is it possible to use dropdown menus in PDF forms? Yes, dropdown menus can be implemented in PDF forms by converting HTML with select tags or by using a ComboboxFormField object in C#. What method should I use to add radio buttons to a PDF form? Radio buttons can be added to a PDF form through HTML conversion with radio inputs or programmatically by using a RadioFormField object in IronPDF. How do I add an image field to a PDF form? You can add an image field to a PDF form by creating an ImageFormField in IronPDF and adding it to the document programmatically. What is the best way to insert an unsigned signature field in a PDF? To insert an unsigned signature field, create a SignatureFormField object and use the Add method to integrate it into the PDF document. How can I learn more about creating and editing PDF forms with IronPDF? For more information about creating and editing PDF forms, you can refer to the 'How to Fill and Edit PDF Forms' guide available on the IronPDF website. Chaknith Bin Chat with engineering team now Software Engineer Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience. Ready to Get Started? Free NuGet Download Total downloads: 15,030,178 View Licenses