---
title: "Uploading and viewing patient files — HyperCRM docs"
description: "How to upload patient files in HyperCRM: the 10MB cap, file categories, viewing images and PDFs, opening STL 3D scans, and how download links work."
canonical: "https://hypercrm.app/docs/guides/files"
lang: "en"
updated: "2026-07-25"
---

_Docs / Guides / Files_

# Uploading and viewing patient files

How to attach a file to a patient record, what the 10MB cap and category list mean in practice, and how to open an image, a PDF, or an STL 3D scan once it's there.

[Start the free trial](/dashboard) · [All guides](/docs/guides)

## Uploading a file

From a patient's record, choose a file and a category — `xray`, `scan`, `document`, `photo`, or `other` — and upload it. Each file is capped at 10MB, and only a fixed set of formats is accepted: PNG, JPEG, GIF, WebP, PDF, and STL, plus a generic binary type for anything else your browser can't label. A file outside the cap or format list is rejected before it uploads rather than failing partway through.

## One prerequisite worth knowing

If file storage is unavailable, uploading returns a clear service-unavailable error rather than failing silently, and your existing files still list and still open. One file failing is usually the file — check its size and type. Every file failing is us, and worth reporting rather than retrying.

## Viewing what's already there

Photos open in an in-app preview without leaving the patient record, and PDF documents open in a new browser tab. Every file is private by default: the underlying storage has no public address, and each time you open or download a file, HyperCRM mints a fresh, short-lived signed link for it rather than reusing a permanent URL. If a link you copied earlier stops working, that's expected — go back to the file in the patient record and open it again to get a current one.

## Opening an STL 3D scan

A file with an STL 3D scan gets a 3D-view option alongside the normal download. It opens in an in-app viewer with orbit, zoom, and pan, and the camera fits itself to the model automatically. The viewer only loads when you open it, so it costs nothing on a patient record where you never use it. If your browser can't render the viewer (no WebGL) or the file fails to parse, the option falls back to a plain download instead.

## Downloading a copy

Any file — image, PDF, or STL — can be downloaded directly from the patient record. Because download links are short-lived and signed, save the file itself if you need to keep a copy outside HyperCRM; don't rely on a saved link working later. See the [files feature page](/features/files) for how this fits with the rest of a patient's record, or the [security page](/security) for how private storage and signed links work across the whole app. For anything not covered here, the [guides hub](/docs/guides) links to the rest of the documentation, and [we're a direct line away](/contact) for the rest.

## Related reading

### [Files feature](/features/files)

The marketing overview of file storage, categories, and the 3D viewer.

### [Security](/security)

How private storage and short-lived signed links protect every file.

### [For dental practices](/for/dental)

See imaging and STL scans in the context of a full dental appointment.

## Common questions

### How is patient data protected?

Patient records are encrypted in transit and at rest, files are stored privately and served through short-lived signed links, and every change is written to an audit log. Staff accounts sign in with passkeys rather than shared passwords.

### Why did my file upload fail?

Usually the file: over the 10MB cap, or not one of the accepted formats (PNG, JPEG, GIF, WebP, PDF, STL). If one specific file fails, check its size and type first. If every upload fails for your whole practice, that is a problem at our end and worth telling us about rather than retrying.

### Why doesn't a file link I copied still work?

Files are stored privately, and every download link HyperCRM gives you is signed and short-lived rather than a permanent address. That protects patient files from ending up on the open web if a link is copied or shared by mistake. Go back to the file in the patient record and open it again to get a current link.