> For the complete documentation index, see [llms.txt](https://docs.diaflow.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.diaflow.io/workflow-builder/nodes/built-in-tools/file-converter.md).

# File converter

## File converter

### What does it do?

The **File converter** node changes one file into another format inside your workflow. Think of it like an office assistant who takes a document in one format, saves it in a new format, and hands back a fresh download link.

It works well for common business conversions like **PDF to PNG**, **XLSX to CSV**, **CSV to JSON**, or **HTML to PDF**.

#### Smart features

* **Accepts direct files or earlier workflow outputs**: use a file link directly or select a file from a previous step.
* **Checks the source format before converting**: Diaflow confirms the file matches the format you selected in **Original file format**.
* **Returns ready-to-use file links**: each converted file comes back as a downloadable link for the next step.
* **Can return more than one output file**: some conversions, such as **PDF to PNG**, can create one file per page.
* **Can reuse recent conversion results**: if caching is turned on, Diaflow can return a recent result instead of converting the same file again.

<figure><img src="/files/gHJM6LtS6DX8z2SECiA5" alt=""><figcaption></figcaption></figure>

### Real-World Business Value

* Turn supplier spreadsheets into **CSV** before loading them into another system.
* Convert signed **PDF** contracts into **PNG** pages for review, approval, or visual processing.
* Change exported **CSV** or **XLSX** reports into **JSON** for downstream automation steps.

### Step-by-Step Setup

* Drag **File converter** onto the canvas.
* In **Original file**, select the file you want to convert from a previous step or file input.
* In **Original file format**, choose the current format of that file, such as `pdf`, `xlsx`, `csv`, `docx`, `png`, or `json`.
* In **Target file format**, choose the format you want to create.
* If your workflow uses repeated conversions of the same file, turn on **Cache** only if you want Diaflow to reuse recent results.
* If **Cache** is on, set **Caching time** to a short period such as `60` seconds.
* Run the workflow and use the returned file link in the next step or in an **Output** node.

### The Transformation: Before & After

**Before  file and conversion settings entering the node**

<figure><img src="/files/iwYXEkJbthZuVh9ejxw3" alt=""><figcaption></figcaption></figure>

**After  converted file links returned by the node**

<figure><img src="/files/BuClaMvSs4rklJvy5uki" alt=""><figcaption></figcaption></figure>

In this example, one **PDF** becomes one **PNG** file per page.

### Tips & Warnings for First-Timers

#### Best practices

* Convert **one file at a time**.
* Match **Original file format** to the real file extension exactly.
* Start with a small test file before converting a very large document.
* Use **Loop** if you need to convert many files in one workflow.
* Keep **Caching time** short if you enable **Cache**.

#### Warnings

* Do not pass more than one file into this node. It supports only one file per run.
* Do not choose the wrong source format in **Original file format**. The conversion will fail.
* Do not use incomplete or broken file links. The file must be reachable by the workflow.
* Do not assume every source format can convert into every target format. Some format pairs are not supported.
* Do not use very large files for your first test. Large files can take longer or fail during conversion.
* Do not expect **Base64** output to behave like a normal binary file download. It is returned as text content.
* Do not rely on old cached file links for too long. Reused links can stop working after they expire.

### Need help?

* Learn the basics in [How a node works](/getting-started/lets-start-with-the-basics/how-a-node-works.md)
* Build the full flow in [Create a workflow](/workflow-builder/create-a-workflow.md)
* Browse related nodes in [Component List](/workflow-builder/component-list.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.diaflow.io/workflow-builder/nodes/built-in-tools/file-converter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
