How to Resolve: Loom “0 byte” file size for local downloads

When a local download from Loom produces a “0 byte” file, your web browser creates an empty .mp4 file on your drive that cannot be opened, played, or imported into editing software. This failure occurs when you initiate a download while the high-definition video file is still processing on Loom’s servers, when your browser’s temporary download connection drops before data transfer begins, or when local security software terminates the pre-signed Amazon S3 download link.

Fast Fix

Wait 5 to 10 minutes for Loom to finish transcoding the video, then refresh the page before downloading. If the download remains 0 bytes, click the three dots above the video, choose “Download,” manually select the 720p stream instead of 1080p, or download the file inside an Incognito window to bypass download manager extensions.


Diagnostic Snapshot

ParameterOperational Detail
Failure LayerCloud storage pre-signed URL expiration or premature transcode download
SymptomsSaved file shows 0 KB / 0 bytes; media players report “Corrupt header”
Common TriggerDownloading immediately after recording long or high-resolution videos
Root MechanismTarget file object on AWS S3 storage is unpopulated or transfer stream is blocked

Why Loom Generates a 0-Byte File

When you click “Download” on Loom, your browser does not download media directly from the webpage. Loom’s API queries an Amazon S3 storage bucket and generates a temporary, cryptographically signed URL (a pre-signed URL).

[User Clicks Download] ──► [Loom API Requests S3 URL] ──► [AWS S3 Returns Pre-signed Link]
                                                                        │
       ┌────────────────────────────────────────────────────────────────┴────────┐
       ▼                                                                         ▼
[Transcode Completed]                                                   [Transcode In Progress]
       │                                                                         │
Browser Streams MP4 Data                                                Target File Size = Null / 0
       │                                                                         │
Valid Video File Saved                                                  Browser Writes 0-Byte Placeholder

A 0-byte file appears under three distinct circumstances:

  1. The Transcode Is Incomplete: If a video was just recorded, the raw stream exists, but the downloadable, compiled .mp4 container has not finished rendering on the server. If you request the file during this window, the S3 endpoint delivers a zero-payload header.
  2. Pre-signed URL Expiration: Pre-signed storage links expire quickly. If your browser or download accelerator pauses the connection during security negotiation, the link invalidates, and the browser closes the file write operation at 0 bytes.
  3. Antivirus or Firewall Interception: Real-time web filters can flag external direct media downloads, cutting the socket immediately after the browser allocates disk space for the incoming file.

Step-by-Step Resolution

Step 1: Verify Video Transcode Completion

Never trigger a download while the cloud servers are actively compiling:

  1. Open the video page on Loom.com.
  2. Check the video status banner:
    • If the player displays a message stating the video is “processing” or “optimizing quality,” do not download yet.
    • If your recording has been stuck indefinitely, troubleshoot the rendering pipeline first by reviewing Fix: Loom “Processing” Loop (Video stuck at 0%).
  3. Wait until the gear icon inside the player lets you select the highest recorded resolution.
  4. Perform a hard refresh (Ctrl + F5 on Windows; Cmd + Shift + R on macOS) before attempting the download.

Step 2: Download an Alternate Resolution Stream

If the 1080p or 4K transcode container is damaged on the server, alternate resolutions may download normally:

  1. On the video page, click the three dots (…) in the upper right.
  2. Select Download.
  3. If prompted to choose a resolution, select 720p instead of 1080p or Original.
  4. If your recording was automatically capped at lower quality during capture, check Fix: Loom “Resolution Mismatch” (1080p recording showing as 720p) to prevent resolution locks on future recordings.

Step 3: Eliminate Browser and Extension Interference

Third-party download managers (like IDM) and aggressive ad-blockers can break the single-use token Loom uses for media exports:

  1. Open Google Chrome or Microsoft Edge.
  2. Open an Incognito / InPrivate window.
  3. Sign into your Loom account and navigate to the video.
  4. Attempt the download.
  5. If the file downloads with its complete file size, disable third-party download accelerators and privacy extensions in your main browser profile.

Step 4: Check Local Network and Storage Handshakes

If long recordings fail to export properly across your entire workstation, verify that the original upload was not truncated. A recording that failed to finish uploading initially will never produce a downloadable cloud asset. If you routinely experience dropped transfers, see Fix: Loom “Upload Failed” after Long Screen Recordings.

Additionally, if the video plays back fine in your desktop browser but shows as an offline or missing file across team devices, review Fix: Loom “Cloud Sync” delay causing “Media Offline” in Browser.