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 types of form elements are supported when creating interactive PDF forms? IronPDF supports a variety of form elements including input fields, text areas, checkboxes, comboboxes, radio buttons, and image forms. How can I create a PDF form using HTML? You can create PDF forms using HTML by defining form elements in HTML and converting it to PDF using IronPDF's HtmlToPdf.GeneratePdf method. Can I programmatically add form fields to a PDF? Yes, you can programmatically add various form fields such as text, checkbox, combobox, radio, image, and signature fields using IronPDF's API. How do I add a text form field to a PDF using code? To add a text form field, instantiate a TextFormField object and use the Add method of the Form property to include it in the PDF. Is it possible to create a checkbox form in a PDF? Yes, you can create a checkbox form by either converting HTML containing checkbox elements or programmatically using a CheckboxFormField object. How can I create a combobox form in a PDF? Combobox forms can be created from HTML containing select tags or programmatically using a ComboboxFormField object with specified options. What is the process to add radio buttons to a PDF form? Radio buttons can be added by converting HTML with radio inputs or programmatically by creating a RadioFormField object and adding it to the PDF. Is adding image fields to a PDF form supported? Yes, IronPDF supports adding image fields programmatically by using an ImageFormField object and adding it to the PDF document. How can I add an unsigned signature field in a PDF? You can add an unsigned signature field by creating a SignatureFormField object and using the Add method to include it in the PDF. Where can I learn more about editing PDF forms? You can learn more about editing PDF forms by visiting the guide on 'How to Fill and Edit PDF Forms' available on the IronPDF website. 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. Ready to Get Started? Free NuGet Download Total downloads: 14,631,247 View Licenses