> ## Documentation Index
> Fetch the complete documentation index at: https://developer.pdf.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Convert HTML to PDF

> This feature allows for the conversion of **HTML** code, **HTML** templates, or entire web pages (URLs) into **PDF** format. It’s designed to transform web content into a portable and universally accessible **PDF** format with ease.

This feature allows for the conversion of **HTML** code, **HTML** templates, or entire web pages (URLs) into **PDF** format. It's designed to transform web content into a portable and universally accessible **PDF** format with ease.

<Frame>
  <img src="https://mintcdn.com/pdfco/jvNpJlS3eEFjK2tL/images/integrations/make/make-step12.png?fit=max&auto=format&n=jvNpJlS3eEFjK2tL&q=85&s=6a67f7b96c32317b7c8f13f211547513" alt="Make Step" width="799" height="960" data-path="images/integrations/make/make-step12.png" />
</Frame>

## Input

<Tip>
  The Make module doesn't expose every PDF.co API parameter as a field. To pass a parameter that isn't shown, put it under `std_params` in the **Profiles** field. Enable **Advanced Settings** to see it (see [Profiles](#profiles) below). For example, to add a repeating header and footer to every page:

  ```json theme={null}
  { "std_params": { "header": "<div>My Header</div>", "footer": "<div>My Footer</div>" } }
  ```

  This works for any standard parameter listed in the [API Reference](/api/pdf-from-html/convert). See [Standard Parameters](/api/profiles#standard-parameters) for details.
</Tip>

| Name | Description | Required |
| - | - | - |
| **Convert Options** | Choose from `HTML to PDF`, `HTML Template to PDF`, or `URL to PDF`. | Yes |

***

**HTML to PDF**

| Name | Description | Required |
| - | - | - |
| **Input HTML Code** | Provide the raw HTML code for conversion. | Yes |

**HTML Template to PDF**

| Name | Description | Required |
| - | - | - |
| **HTML Template ID** | Enter the ID from [HTML to PDF Templates](https://app.pdf.co/templates/html). | No |
| **Input data in CSV or JSON format** | Supply data in `CSV` or `JSON` format for the selected HTML template. Examples: CSV: `invoice_id, totalrn12345,$999` JSON: `{"invoice_id":"12345","total":"$999"}`. Test your [HTML to PDF Templates](https://app.pdf.co/templates/html). | Yes |

**URL to PDF**

| Name | Description | Required |
| - | - | - |
| **Input URL to web page** | Enter the URL of the web page for conversion. Example: `https://google.com`. | Yes |

| Name | Description | Required |
| - | - | - |
| **Output File Name** | Specify a custom file name for the output file. | No |
| **Orientation** | Select the **PDF** orientation: `Portrait` or `Landscape`. | No |
| **Paper Size** | Choose the paper size, such as `Legal`, `Letter`, `A0`, `A1`, `A2`, `A3`, `A4`, `A5`, etc. | No |
| **Render Page Background** | Specify if the page background should be rendered in the **PDF**. | No |
| **Do not wait for full load** | Select if the conversion should proceed without waiting for the full page load. | No |
| **Margins** | Set custom margins, overriding CSS margin styles for the converted page. | No |
| **Execution Mode** | Select **Sync** for small tasks up to `10` seconds. Choose **Async** for standard jobs, or **Async For Large Docs** for tasks over `30` seconds. Use **Job Check** module for retrieving results in large tasks. | No |
| **Profiles** | Add custom options for the process in a `JSON` string format. See [API Profiles](#profiles) for more details. | No |
| **Output Links Expiration** | Set the expiration time in minutes for output links. Default is `60` minutes. Increase this limit with a `Business Plan` or higher, see [plans here](https://app.pdf.co/subscriptions) for details. | No |
| **Export Type** | Choose between `Download a File` or `JSON Output`. Default is `Download a File`. | No |

## Output

| Name | Description |
| - | - |
| `url` | This is the temporary **URL** provided by the **PDF.co** file server. |
| `Data` | Represents the output binary data. This data is generated only when the `Export Type` option is set to `Download a File`. |
| `Status` | Indicates the [response status](/api/introduction) code. A `success` status is returned if the operation is successful. |
| `Page Count` | The total number of pages in the output **PDF**. |
| `outputLinkValidTill` | Specifies the timestamp until which the `url` remains accessible. |
| `error` | Provides details about any errors encountered during the process, if applicable. |
| `name` | The designated name of the output file. |
| `Job Id` | A unique identifier assigned to the job. |
| `credits` | The amount of credits utilized for the process. |
| `Remaining Credits` | Displays the balance of credits available in your account. |
| `duration` | The duration of time the process took to complete. |

### Profiles

<Warning>
  To display the Profiles fields, you must **enable Advanced Settings** by clicking the toggle:

  <Frame>
    <img src="https://mintcdn.com/pdfco/tXGo3rbTS_pEF5es/images/integrations/make/show-advanced-settings.png?fit=max&auto=format&n=tXGo3rbTS_pEF5es&q=85&s=8a9777bce100fedc593f641fa3140bd2" alt="Advanced Settings" width="558" height="70" data-path="images/integrations/make/show-advanced-settings.png" />
  </Frame>
</Warning>

You can set additional options for the operation used in the [PDF.co](http://pdf.co/) module by using **Profiles**. A profile is a string in JSON-like format containing predefined parameters.

### Here’s an example of a Custom Profiles input:

```json theme={null}
{ "outputDataFormat": "base64" }
```

With this input, the [PDF.co](http://pdf.co/) module will return the output in base64 format. You can find the list of available parameters for customizing profiles in the [PDF.co](http://pdf.co/) operation documentation below:

<Tip>
  You can use any regular API parameter from the [API Reference](/api) within Make using the `std_params` feature in profiles. The `std_params` enables the definition of regular API parameters in a JSON format, See [Standard Parameters](/api/profiles#standard-parameters) for detailed documentation and examples.
</Tip>

| Parameter | Type | Default | Description |
| - | - | - | - |
| `outputDataFormat` | string | - | If you require your output as base64 format, set this to base64 |
| `HTMLCodeHeadInject` | string | - | Injects CSS into the HTML `<head>` section to prevent page breaks within specified elements. See HTML to PDF Knowledge Base for more information. |
| `DataEncryptionAlgorithm` | string | - | Controls the encryption algorithm used for data encryption. See User-Controlled Encryption for more information. The available algorithms are: AES128, AES192, AES256. |
| `DataEncryptionKey` | string | - | Controls the encryption key used for data encryption. See User-Controlled Encryption for more information. |
| `DataEncryptionIV` | string | - | Controls the encryption IV used for data encryption. See User-Controlled Encryption for more information. |
| `DataDecryptionAlgorithm` | string | - | Controls the decryption algorithm used for data decryption. See User-Controlled Encryption for more information. The available algorithms are: AES128, AES192, AES256. |
| `DataDecryptionKey` | string | - | Controls the decryption key used for data decryption. See User-Controlled Encryption for more information. |
| `DataDecryptionIV` | string | - | Controls the decryption IV used for data decryption. See User-Controlled Encryption for more information. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.