---
title: "How to share a PDF, image or video from a QR code"
description: "Use an Open media step to hand visitors a PDF, image or MP4 video straight from a QR code. Choose media from your library, upload it in the step or give it to the Assistant, replace it any time without reprinting, and see every opening in the activity timeline."
canonical: "https://linkbreakers.com/help/article/how-to-share-media-from-a-qr-code"
last-updated: 2026-10-18
---

# How to share a PDF, image or video from a QR code

> Use an Open media step to hand visitors a PDF, image or MP4 video straight from a QR code. Choose media from your library, upload it in the step or give it to the Assistant, replace 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. I'm attaching the PDF.","target":"assistant","description":"Attach the PDF in the chat and the Assistant stores it in your media library and builds the link."}:::

## Short answer

Add an **Open media** step to the link's workflow, then choose media from your [media library](/help/article/your-media-library-kinds-where-its-used-and-storage), upload it from the step itself, or [attach it in a chat with the Assistant](/help/article/give-the-assistant-your-files). An Open media step hands the visitor one piece of media: a PDF, an image (PNG, JPEG, WebP, SVG) or an MP4 video. A visitor who scans the QR code goes straight to it: a PDF opens in the browser, and so does an image or a video. Nothing needs to be hosted on Google Drive or Dropbox first.

The QR code never changes. To put next week's menu in place of this week's, use **Replace file** on the media in your media library: every Open media step that opens it hands out the new version from the next scan, with nothing to edit in the workflow.

## Quick summary

- The Open media step is an exit step: the visitor goes straight to the media, with no page in between
- It hands out PDF documents, images (PNG, JPEG, WebP, SVG) and MP4 videos
- Media comes from the workspace's media library; uploading in the step, or attaching a file in a chat with the Assistant, adds it to the library
- **Replace file** in the media library updates every Open media step that opens the media at once
- The media address is signed at the moment of the scan, so the QR code never carries an address that could go stale
- Each opening is tracked like any other step: the activity timeline shows **Media opened** with the media name
- A link that only opens media can be created in one go with the **Open media** 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 Open media step
- A document 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 media. When someone scans it, Linkbreakers runs the link's workflow. When the workflow reaches an Open media step, it creates a fresh, signed address for the media stored in your 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 media it points to
- Changing the media is an edit in the dashboard, never a reprint
- The media 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 media the way it shows anything else 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.

If the media was deleted from the library after the link was set up, the visitor sees a page that reads **This media is no longer available**, and the visit details give the reason **Media no longer available**.

### What an Open media step accepts

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

The same media can be used elsewhere at the same time, for example as a QR code logo or a page theme badge. The **Choose media** picker lists all the media that fits an Open media step, with the media uploaded from Open media steps first.

Every upload also counts toward your workspace's [media storage](/help/article/your-media-library-kinds-where-its-used-and-storage).

## Step-by-step

### Create a new link that opens media

1. Create a new link and choose the **Open media** link type
2. Click **Choose media** to pick from **Your media**, or **Upload media** to drag a PDF, image or video in
3. Create the link, then download its QR code
4. Scan the QR code with your phone to check that the media opens

### Add an Open media step to an existing workflow

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

### Replace the media every week

The quickest routine keeps one media and replaces its file each week:

1. Open **Media** in the dashboard and find the media, for example "Weekly menu"
2. Open its actions menu and choose **Replace file**, then pick this week's PDF from your computer
3. Check what changes: every Open media step listed will hand out the new file
4. Click **Replace**. The next scan opens the new version, on every QR code that opens this media

The media takes the new file's name, and the old file is deleted once the new one is in place. To keep past versions, upload each week's PDF as its own media and point the Open media step at it instead: the previous one stays in the library until you delete it. See [how to keep a QR code's PDF up to date every week](/help/article/how-to-keep-a-qr-codes-pdf-up-to-date-every-week) for both routines.

### 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 Open media step, each pointing at different media
3. See [how to put several PDFs behind one QR code](/help/article/how-to-put-several-pdfs-behind-one-qr-code) for the full setup, including sub-menus with a [Back to menu button](/help/article/how-to-add-a-back-to-menu-button)

### Build it with the Assistant or the API

- **Assistant:** attach the PDF or image in the chat and ask for "a QR code that opens this brochure". The [Assistant](/help/article/the-assistant-section) stores it in your media library and builds the link with an Open media step. It also uses media already in your library, and can replace a media's file after you confirm. See [give the Assistant your files](/help/article/give-the-assistant-your-files)
- **API:** `POST /v1/links/open-media` (`CreateOpenMediaLink`) creates a link whose workflow ends in an Open media step. Pass the `media_id` of any PDF, image or MP4 video in the library, whatever it was uploaded for. To upload, import or replace the media itself, see [manage media through the API and MCP](/help/article/manage-media-through-the-api-and-mcp)
- **MCP:** the `links_create_open_media` tool does the same from an AI agent connected to the [Linkbreakers MCP server](/help/article/mcp-server-setup)

## Tracking media openings

Each time a visitor reaches the Open media step, the visit is recorded like any other step. In the link's activity timeline, the entry reads **Media opened** with the name of the media, 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 an Open media step shows how many visitors went on to open the media.

## Open media step or redirect step?

| What you share is | Use |
|---|---|
| Uploaded to Linkbreakers (a PDF, image or MP4) | Open media step |
| Hosted elsewhere at a URL (Google Drive, Dropbox, your website) | Redirect step |
| A web page | Redirect step |

## Frequently asked questions

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

No. Use **Replace file** on the media in your media library, or point the Open media step at other media. The QR code and the link stay the same, and the next scan opens the new version.

### 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. Documents hosted elsewhere keep working with a redirect step whose destination is the share link. The Open media step is for media uploaded to your library.

### Can one QR code offer several documents?

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

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

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

### Can I delete media that an Open media step uses?

Not while a step still opens it. The media library names the links that use it: point those Open media steps at other media first, then delete it. To change what visitors get without deleting anything, use **Replace file** instead.

### Can I give the Assistant the PDF instead of uploading it?

Yes. Attach it in the chat (up to 50 MB, within the limit for its kind) and the Assistant stores it in your media library before building the link. If the library already holds the same file, the Assistant uses that media instead of storing a copy.

### Can the media I share also be my QR code logo?

Yes. Media is not tied to one place. An image of at most 3 MB can be opened by an Open media step and used as a QR code logo or a page theme image at the same time. The media library shows every place it is used under **Used as**.

## Limits and caveats

- PDFs up to 25 MB, images up to 10 MB and MP4 videos up to 50 MB when uploaded from the dashboard; inline API uploads go up to 3 MB
- Media opened by an Open media step cannot be deleted until no Open media step uses it
- **Replace file** is on the Media page of the dashboard; the old file is deleted once the new one is in place
- Every upload counts toward your plan's media storage (for example 25 MB on the Free plan); uploads that would go over it are refused. See [your media library](/help/article/your-media-library-kinds-where-its-used-and-storage) for the allowance on each plan
- The Open media step is an exit step: nothing runs after it in the workflow
- How the media is displayed depends on the visitor's browser and device, as with anything opened on the web
- A document hosted outside Linkbreakers needs a redirect step instead

## Last reviewed

2026-10-18
