---
url: https://www.questpdf.com/companion/usage.md
---
# Companion App

## Introduction

The QuestPDF Companion application is a tool designed to simplify and speed up your development lifecycle.
First, it shows a preview of your document. But the real magic starts with the hot-reload capability!
It observes your code and updates the preview every time you change the implementation.
Get real-time results without the need of code recompilation. Save time and enjoy the task!

![Application screenshot](/companion/application-light.webp){.companion-screenshot .light-only}
![Application screenshot](/companion/application-dark.webp){.companion-screenshot .dark-only}

:::info
Read more about features availble in the Companion App in the [Features](/companion/features.md) section.
:::

## Installation

The Companion App is available for download on Windows, macOS, and Linux.

| Operating System                           | Download link                                                                                                                  |
|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| Windows (.msix)                            | [Download](https://github.com/QuestPDF/QuestPDF.Companion/releases/download/2026.2.2/questpdf_companion-2026.2.2-windows.msix) |
| macOS (.dmg, Intel and Apple Silicon)      | [Download](https://github.com/QuestPDF/QuestPDF.Companion/releases/download/2026.2.2/QuestPDF.Companion.2026.2.2.dmg)          |
| Linux (.deb, Debian and Ubuntu)            | [Download](https://github.com/QuestPDF/QuestPDF.Companion/releases/download/2026.2.2/questpdf_companion-2026.2.2-linux.deb)    |
| Linux (.rpm, Fedora, RHEL and openSUSE)    | [Download](https://github.com/QuestPDF/QuestPDF.Companion/releases/download/2026.2.2/questpdf_companion-2026.2.2-linux.rpm)    |

:::info
To access older versions of the Companion App, visit the [Download](/companion/download.md) section.
:::

## Changes in your code

To preview your document, you need to slightly modify your code.

```csharp{19,22}
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;
using QuestPDF.Companion;

// code in your main method
var document = Document.Create(container =>
{
    container.Page(page =>
    {
        // page content
    });
});

// instead of the standard way of generating a PDF file
document.GeneratePdf("hello.pdf");

// use the following invocation
document.ShowInCompanion();

// optionally, you can specify an HTTP port to communicate with the previewer host (default is 12500)
document.ShowInCompanion(12345);
```

:::warning
The QuestPDF Companion integration requires the library version **2024.10** or newer.

If you cannot update, please use the legacy [QuestPDF Previewer application](/document-previewer.html).
:::

## How to use hot-reload

### Visual Studio

Start your application in the DEBUG mode with the 'Hot Reload on Save' flag enabled. On every file save, the document will be refreshed.

![example](/companion/hot-reload-visual-studio.png)

### JetBrains Rider

Start your application without debugger attached. To apply code changes, click on the `Apply changes` button displayed on the top bar, or use the `Alt+F10` shortcut.

![example](/companion/hot-reload-jetbrains-rider.png)

### Terminal

Start your application using the following command:

```shell
dotnet watch
dotnet watch --project YourSampleProject
```

For unit tests:

```shell
dotnet watch --project YourProjectWithTests test --filter "YourClassWithTests.TestMethodName"
```
