---
title: "How to share a file from a QR code with the File step"
description: "Use the File step to open a PDF, image or MP4 video straight from a QR code. Pick a file from your media library or upload one, swap it any time without reprinting, and see every opening in the activity timeline."
canonical: "https://linkbreakers.com/help/article/how-to-share-a-file-from-a-qr-code"
last-updated: 2026-10-15
---

# How to share a file from a QR code with the File step

> Use the File step to open a PDF, image or MP4 video straight from a QR code. Pick a file from your media library or upload one, swap it any time without reprinting, and see every opening in the activity timeline.

:::try-ai-prompt {"prompt":"Create a QR code for our restaurant that opens this week's menu PDF from my media library.","description":"Try building a QR code that opens a file with the AI builder."}:::

## Short answer

Add a **File** step to the link's workflow, then pick a file from your [media library](/help/article/your-media-library-files-kinds-usages-and-storage) or upload one from the step itself. A visitor who scans the QR code is taken straight to the file: a PDF opens in the browser, and so does an image or an MP4 video. Nothing needs to be hosted on Google Drive or Dropbox first.

The QR code never changes. To replace this week's menu with next week's, point the step at the new file (or upload the new one in the step), and every printed code opens the new file from the next scan.

## Quick summary

- The File step is an exit step: the visitor goes straight to the file, with no page in between
- It hands out PDF documents, images (PNG, JPEG, WebP, SVG) and MP4 videos
- Files come from the workspace's media library; uploading in the step adds the file to the library
- The file link is signed at the moment of the scan, so the QR code never carries a file address that could go stale
- Each opening is tracked like any other step: the activity timeline shows **File opened** with the file name
- A link that only opens a file can be created in one go with the **File** link type
- Several documents behind one QR code: a [multi-link page](/help/article/what-is-a-multi-link-page) whose buttons each lead to their own File step
- A file hosted somewhere else (a Google Drive or Dropbox link) still uses a redirect step

## How it works

A QR code holds a short Linkbreakers link, not the file. When someone scans it, Linkbreakers runs the link's workflow. When the workflow reaches a File step, it creates a fresh, signed address for the file stored in your media library and sends the visitor there.

Because the address is created at the moment of the scan:

- The printed QR code stays valid for as long as the link exists, whatever file it points to
- Changing the file is an edit in the dashboard, never a reprint
- The file itself is not published at a permanent public address that people could pass around without going through your QR code

The visitor's browser shows the file the way it shows any file on the web. PDFs open in the browser's PDF viewer, where they can be read, zoomed and saved. Images open in the browser, and MP4 videos play in its video player.

### What a File step accepts

| Kind | Formats | Largest file |
|---|---|---|
| Document | PDF | 25 MB |
| Image | PNG, JPEG, WebP, SVG | 10 MB |
| Video | MP4 | 50 MB |

Every file also counts toward your workspace's [media storage](/help/article/your-media-library-files-kinds-usages-and-storage).

## Step-by-step

### Create a new link that opens a file

1. Create a new link and choose the **File** link type
2. Pick a file from your media library, or drag a file in to upload it
3. Create the link, then download its QR code
4. Scan the QR code with your phone to check that the file opens

### Add a File step to an existing workflow

1. Open the link's workflow in the dashboard
2. Add a **File** step and connect it where the visitor should receive the file, for example after a form
3. In the step's side panel, pick a file from the media library or upload a new one
4. Save, then scan the QR code to test the journey end to end

### Replace the file every week

1. Open the link's workflow and select the File step
2. Pick the new file from the media library, or upload it directly in the step
3. Save. The next scan opens the new file. The QR code and the link stay the same

The previous file stays in your media library until you delete it, so you can switch back if needed. Deleting old versions frees their storage.

### Offer several documents behind one QR code

1. Add a [multi-link page](/help/article/what-is-a-multi-link-page) as a menu, with one button per document ("Menu", "Wine list", "Allergens")
2. Connect each button to its own File step, each pointing at a different file
3. To let visitors come back to the menu, follow [how to add a Back to menu button](/help/article/how-to-add-a-back-to-menu-button) on the pages behind it

### Build it with the Assistant or the API

- **Assistant:** ask for "a QR code that opens our brochure PDF" and the [Assistant](/help/article/the-assistant-section) builds the link with a File step, using a file already in your media library. Upload the file in the dashboard first: the Assistant picks files from the library but does not upload them
- **API:** `POST /v1/links/file` (`CreateFileLink`) creates a link whose workflow ends in a File step. Pass the `media_id` of a media item uploaded for files to visitors
- **MCP:** the `links_create_file` tool does the same from an AI agent connected to the [Linkbreakers MCP server](/help/article/mcp-server-setup)

## Tracking file openings

Each time a visitor reaches the File step, the visit is recorded like any other step. In the link's activity timeline, the entry reads **File opened** with the name of the file, so you can tell which document each visitor received. It also counts in the link's [visitor journeys](/help/article/what-is-a-visitor-journey) and step analytics, so a form followed by a File step shows how many visitors went on to open the file.

## File step or redirect step?

| Your file is | Use |
|---|---|
| Uploaded to Linkbreakers (a PDF, image or MP4) | File step |
| Hosted elsewhere at a URL (Google Drive, Dropbox, your website) | Redirect step |
| A web page rather than a file | Redirect step |

## Frequently asked questions

### Do I need to reprint the QR code when the file changes?

No. Point the File step at the new file and save. The QR code and the link stay the same, and the next scan opens the new file.

### Can visitors download the PDF?

Yes. The PDF opens in the browser's viewer, which lets visitors save or share it like any PDF they open on the web.

### Can I still use a Google Drive link?

Yes. Files hosted elsewhere keep working with a redirect step whose destination is the share link. The File step is for files uploaded to your media library.

### Can one QR code offer several files?

Yes. Use a multi-link page with one button per file, and connect each button to its own File step.

### How do I know who opened the file?

Each opening appears in the link's activity timeline as **File opened** with the file name. When the File step comes after a form, the opening is attached to the visitor who filled in the form.

### Can I delete a file that a File step uses?

Not while a step still hands it out. The media library names the links that use the file: point those File steps at another file first, then delete it.

## Limits and caveats

- PDFs up to 25 MB, images up to 10 MB and MP4 videos up to 50 MB
- Every uploaded file counts toward your plan's media storage (for example 50 MB on the Free plan); uploads that would go over it are refused. See [your media library](/help/article/your-media-library-files-kinds-usages-and-storage) for the allowance on each plan
- The File step is an exit step: nothing runs after it in the workflow
- How the file is displayed depends on the visitor's browser and device, as with any file opened on the web
- A file hosted outside Linkbreakers needs a redirect step instead
