---
title: Render in 4K
description: Author at 4K or supersample an existing composition at render time.
---

## Render an existing project in 4K

```bash
npx hyperframes render --resolution 4k --output final-4k.mp4
```

HyperFrames keeps the composition's layout unchanged and captures it at a higher device-pixel ratio. A 1920×1080 composition becomes a 3840×2160 file.

Use the matching preset for portrait or square work:

| Preset | Output |
| --- | --- |
| `4k` or `landscape-4k` | 3840×2160 |
| `portrait-4k` | 2160×3840 |
| `square-4k` | 2160×2160 |

## Author a project at 4K

If the project should use a 4K canvas from the start:

```bash
npx hyperframes init my-video --resolution 4k
```

Choose this when canvas or WebGL code, fixed-resolution media, or layout decisions need to know the final pixel dimensions while you author.

## What gets sharper

| Content | Result when supersampled |
| --- | --- |
| HTML text, SVG, CSS shapes, gradients | Re-rasterized at 4K |
| High-resolution images | Use their available source detail |
| 1080p images and video | Scaled up; no new source detail |
| `<canvas>` and WebGL | Limited by the canvas's intrinsic dimensions |

For a fully sharp 4K result, use 4K source media and size canvas/WebGL buffers for the target resolution.

## Constraints

`--resolution` only works when:

- the preset has the same aspect ratio as the composition;
- the target is an integer multiple of the authored dimensions;
- the target is not smaller than the composition;
- the output is MP4 rather than an alpha format;
- HDR is not forced for the same render.

HyperFrames checks these conditions before opening the browser. Render at the composition's native size and resize separately when a combination is unsupported.

## Verify the file

```bash
ffprobe -v error -select_streams v:0 \
  -show_entries stream=width,height final-4k.mp4
```

For landscape 4K, the output should report `3840` by `2160`.

4K captures four times as many pixels as 1080p, so expect more render time, memory use, and output data. Start with `--quality draft` for review, then render the approved version at the quality you need.

## Related topics

- [Render from the command line](/guides/rendering)
- [Improve render performance](/guides/performance)
- [Deliver an HDR project](/guides/hdr)
