Flat / MKV hosting

MKV hosting: upload Matroska files and share downloads

Upload Matroska MKV files from your browser or the CLI. Give recipients a link to the original download for their compatible player or editor.

Checking your upload limits... · Public · Limits

Drop your MKV files here

or choose them from your device.

Select MKV files

What people see at your MKV link

Original-file hosting. No built-in video player for this container.

The screenshot shows Flat's file download view for an MKV. The viewer does not select subtitle tracks, switch audio tracks, or play this container.

Matroska can store several audio, video, and subtitle streams. Those remain in the uploaded file for a compatible application to read.

Public links open without a Flat account. Several files open in the explorer, where readers can choose a file. Original downloads remain available.

The exact path /motion.mkv serves the original file. Opening that URL does not convert its container or codecs.

Flat's MKV file view stating that no browser viewer is available, with original open and download actions.
motion.mkv in Flat's file download viewView full-size screenshot

How to upload MKV files and get a link

  1. Prepare your files

    Check the track list, default audio track, and embedded subtitles in your desktop player. Keep external subtitle files beside the MKV if they are part of the handoff.

    For quick browser review, export a separate viewing copy with the intended tracks. Use MP4 hosting for that copy; Flat does not flatten or convert the MKV.

  2. Publish from your browser or terminal

    In your browser

    Drop, publish, copy the link.

    Select your finished files in the uploader above. Enter your email if signed out, then choose "Publish videos".

    Selected files need unique names and publish at the top level. The browser uploader does not accept folders or extract ZIPs. Use the CLI when relative paths matter.

    Go to uploader
    TerminalNode.js 20+

    One command. Files or folders.

    npx -y @getflat/cli deploy ./motion.mkv

    Replace the example path with your file, or pass a folder path to preserve its structure. The CLI prints the published URL.

  3. Check the published result

    Download the published MKV and check picture, audio tracks, subtitles, and seeking in the recipient's player.

    Signed-out uploads expire after 1 hour by default. Sign in before expiry to keep them online, or sign in before publishing for no default expiry.

When to use MKV hosting

Multi-track handoffs

Share a Matroska file that needs to retain several audio or subtitle tracks. The original download preserves the container.

Existing recording delivery

Send an MKV produced by a recording tool without forcing a new encode. Add a viewing copy when recipients need browser playback.

Keep a version, or keep an address.

Share this version

Every upload gets its own link. Publishing revised files creates a new link and leaves the earlier version unchanged. Use the version link when someone needs to review a specific upload.

Update files at one address

Use a named onflat.page address or your own domain. Sign in, then publish with the CLI using --domain. Publish revised files with the same domain to point that address to the new upload.

Named addresses are included on Free. Adding your own domain requires a paid plan. The browser uploader does not set up or repoint these addresses.

MKV hosting questions

Is hosting free, and what are the limits?

Yes. Signed-in Free includes 5 MiB per upload, 1 GiB of storage, and 5 GiB of monthly transfer, with no default expiry. The per-upload limit covers all files in that upload. Paid plans raise these limits.

Compare hosting plans and limits

Do readers need a Flat account?

No. Public links open without a Flat account. Anyone with the link can open the uploaded files. Password-protected links also require the visitor password.

Can I password-protect my upload?

Yes. Password protection is available on every plan. Add --password YOUR_PASSWORD to your CLI deploy command. It protects access to the upload and its files, but does not prevent someone with access from saving a copy. The browser uploader creates public uploads.

Set a visitor password

Can I replace files without changing the link?

A version link always refers to its original upload. For same-address updates, use a named address or your own domain. Publish revised files with the same --domain value in the CLI to point that address to the new upload.

What happens when an upload expires?

Flat stops serving it. An expired upload cannot be recovered. Signed-out uploads expire after 1 hour by default. For browser uploads, use the sign-in link shown after publishing. For CLI uploads, run npx -y @getflat/cli login. Complete sign-in before expiry to keep the upload online. If you chose a shorter expiry in the CLI, that deadline stays in place.

Will changing an MKV codec enable Flat's preview?

No. Flat does not route MKV files to its video player. Even an MKV with browser-compatible codecs uses the download view.

Does Flat extract MKV subtitles or audio tracks?

No. Download the original and use a compatible tool to inspect or extract its streams.

How large can a video upload be?

Upload allowances depend on your plan and cover all files in the upload. Compare current plan limits. A larger upload allowance does not add codecs, container support, or transcoding. Original files remain downloadable when a preview is unavailable.

Can I embed this file on my website?

You can link to the original download. An HTML video element does not add a decoder for this container. Export a browser-compatible viewing copy with your own tool if you need embedded playback. Flat does not convert the original.

Find the guide for your video file.

Share your MKV files.

Upload your finished files, check the published result, and copy the URL.

Publish videos

Free to start · View pricing

Compare video containers and playback support