Symptom by symptom
You checked the export. It was clean in the NLE and clean on the desktop player, and it still came back soft on the Vimeo page. Almost none of that is your export. Each artifact you can name has a delivery-side cause, and Vimeo publishes the numbers that produce it.
No credit card required. Cancel any time.
Updated September 2026
The short answer
Vimeo states it directly: during transcoding your file is re-encoded into several formats that will be available to view. The page plays one of those formats. It never plays the file you uploaded.
That single fact reorganises the whole problem. The question stops being “what did I do wrong in the export” and becomes “which rendition am I watching, and what bit budget was it built to”. Vimeo publishes that budget, rung by rung, so the diagnosis is arithmetic rather than folklore. On the H.264 ladder, 4K delivers at up to 22 Mbps, 2K at up to 12 Mbps and 1080p60 at up to 7 Mbps. On the HDR ladder the same rungs are lower: up to 16 Mbps at 4K and up to 10 Mbps at 2K.
Read the word “up to” carefully, because Vimeo puts it there itself. The bitrates listed for each resolution are a maximum, it says, which means your video could transcode at a lower bitrate depending on the complexity of the image. Nobody publishes what a given film actually got. You are told the ceiling and left to infer the rest from what you see.
So work backwards from the artifact. Each of the five below has a specific cause inside a rate-limited encoder, and each one maps to a number Vimeo has published. If you want the mechanism in full, the companion page on why Vimeo compresses video takes the encoder apart; if you want the ladder on its own, without the symptoms, read the 4K streaming bitrate numbers.
The diagnosis list
Five things filmmakers actually report. Not one of them is an export setting. Every one of them is what a fixed bit budget looks like when the image asks for more than the budget holds.
Every figure in the third column was read from Vimeo's own help center on 4 September 2026: the delivery bitrate and audio tables in its playback-resolution guidelines, and the 320 kb/s CBR upload recommendation in its compression guidelines. Vimeo states that the listed delivery bitrates are maximums and that output can be lower on a complex image.
Two of these deserve more than a table cell. Grain first, because it is the one people misdiagnose most often. Grain is noise, and noise is incompressible almost by definition: it does not repeat between frames, so nothing predicts it, and every grain particle has to be spent on rather than inferred. An encoder holding a fixed budget will not spend on something that unrewarding. It smooths the grain, then spends the saved bits on the shapes underneath. The result is that a film graded to feel like film feels like a video of a film. Halation goes the same way and for the same reason: the bloom is a low-contrast high-frequency structure sitting on top of a bright edge, and it is precisely the thing that gets averaged into the edge itself.
The audio is the honest surprise. Vimeo’s compression guidelines ask you to upload AAC-LC at 320 kb/s CBR, 48 kHz. Its playback tables then cap the delivered audio at 256 Kbps for every rendition from 540p through 4K, and at 265 Kbps on the HDR renditions, with all conversions running at 48 kHz. So Vimeo tells you the number it wants, and publishes a lower number for what it hands the viewer. Nothing is hidden here, but very few people read both tables in the same sitting, and a mix does not announce what happened to it the way a banded sky does.
The budget, drawn
The ladder does not adapt to your film. Every 4K stream on the H.264 ladder is fighting for the same 22 Mbps at most, whether the frame is a static two-shot on a grey wall or a grainy handheld street at night.
uncompressed.io, a 150 Mbps export
Vimeo 4K, H.264 ladder
Vimeo 4K, HDR ladder
Vimeo 2K
Vimeo 1080p60
Vimeo figures read from its playback-resolution guidelines, fetched 4 September 2026. They are maximums: Vimeo states a video could transcode at a lower bitrate depending on the complexity of the image. The 150 Mbps example is an ordinary high-bitrate HEVC or H.264 export; browser hardware decoders run to roughly 300 to 400 Mbps, which is an engineering caveat about the viewer's machine, not a product specification.
This is the whole reason your work looks inconsistent on the same account. A locked-off interview is cheap: the background does not move, the prediction from frame to frame is almost perfect, and 22 Mbps is more than the shot needs. Nothing visibly breaks, and you conclude the platform is fine. Then a graded night exterior with real grain, moving water, foliage and a handheld frame asks for several times that at every instant, receives the same ceiling or less, and every artifact in the table above appears at once. Same encoder, same account, same export settings. Different image complexity.
It also explains why the shots you are proudest of are the ones that suffer. Texture, grain, atmosphere and movement are exactly what a rate-limited encoder is built to discard, and they are exactly what a colourist spent the week putting in. For the same reason, a page of clean corporate work can sail through the ladder while a single reel piece falls apart, and both are working as documented.
The gotcha most articles miss
Before the bitrate question there is a dimension question. Vimeo generates each rendition only when your export clears that rendition’s pixel threshold. Miss the threshold and the rung is simply never built, and no part of the interface says so.
Rendition thresholds and delivery ceilings from Vimeo's playback-resolution guidelines, fetched 4 September 2026. Vimeo also documents that renditions above 4K use HEVC, are generated only when the upload is HDR at greater than 5K, and do not play on iOS or Android, including the Vimeo app and mobile browsers.
The trap is anamorphic and cinema-crop delivery. A 3,840 by 1,606 scope master clears the larger dimension easily. A 3,600 by 1,800 export, which most people would call a 4K deliverable in conversation, clears neither gate: 3,600 is under 3,648 and 1,800 is under 2,052. The best rendition ever generated is 2K, and your viewer is watching a stream capped at up to 12 Mbps while believing they have selected 4K quality. Nothing errors. Nothing warns. The picture is just quietly softer than the one you signed off.
This is the one item on this page you can fix entirely from the export dialog, and it costs nothing. Check the actual pixel dimensions of the file you are about to upload against the table above, not the resolution preset name, and add the pixels needed to clear the gate before you upload.
What to do today
Four export levers, all of them from Vimeo’s own compression guidelines. They will not remove the ladder, but they decide how much of your picture reaches it, and they cost you an afternoon at most.
Vimeo's guidelines recommend setting the constant rate factor to 18 or below. This is the single number that decides how much grain and fine texture survive your own encode, before Vimeo's encoder ever sees the file. Going below 18 costs file size and nothing else.
Vimeo names High Profile specifically, not Main, and asks for a constant frame rate at 23.98, 24, 25, 29.97, 30, 50, 59.94 or 60 fps. Variable frame rate, which screen recorders and some phone exports produce, is a reliable way to get a bad transcode out of a good picture.
Export so the larger dimension is at least 3,648 px or the smaller is at least 2,052 px if you want a 4K rendition to exist at all. Check the pixel numbers, not the preset name, and pad the frame rather than accept the 2K rung.
Vimeo's recommended upload bitrates are 30 to 60 Mbps at 4K, 20 to 30 at 2K and 10 to 20 at 1080p, in H.264 High Profile, ProRes 422 HQ or HEVC. Audio AAC-LC at 320 kb/s CBR, 48 kHz, even though delivery caps at 256 Kbps: a clean input re-encodes better than a starved one.
Do all four and a marginal film will come back noticeably better. Do all four and a grainy graded night exterior at 4K will still lose its grain, because 22 Mbps at most is 22 Mbps at most, and no export setting on your machine changes the number on the other side of the upload. That is the ceiling, and it is where the export-level fixes stop.
The structural fix is a host that does not run a second encoder at all. uncompressed.io streams the exact bytes you upload: no transcode, no rendition ladder, no audio re-encode, and no dimension gate deciding which version of your film exists. A 150 Mbps export streams at 150 Mbps, the grain arrives as grain, and the mix arrives as the mix. Uploads are MP4 or MOV in H.264, HEVC or AV1, up to 50 GB per file, and bandwidth is never metered: storage is the only meter, on every plan including the free 5 GB tier.
The honest trade
When to stay on Vimeo
The softness is not a defect. It is the price of a link that plays for anyone, anywhere, on any device, without you knowing anything about their connection.
If the link is going to a mailing list, a client's whole company, a festival's public page or social, the ladder is earning its keep on every viewer whose connection you cannot see. A softer picture that starts instantly beats a perfect picture that spins. Keep the ladder.
Vimeo's player, its marketing and OTT products, its channels and showcases have no equivalent here. If those are part of why you pay, the delivery ceiling is a cost of a bundle you actually use, and this page is not arguing you should leave.
A grade review, a colourist's before and after, a reel that has to hold up at 100 percent, a screener a distributor will judge. Here the ladder is destroying the exact thing being evaluated, and no export setting recovers it. This is the case a byte-for-byte host is built for.
Vimeo only generates a 5K to 8K transcode when the upload is HDR above 5K, and it documents that above-4K playback does not work on iOS or Android at all, including its own app. If your audience is on phones, the highest rung is not part of the conversation.
If you have decided the delivery ceiling is the problem rather than a trade you are happy with, the general version of this diagnosis across every platform is in why your video looks worse after uploading, and the practical steps for moving a library, including the server-to-server importer that moves files without re-encoding them, are in leaving Vimeo.
Questions
Because the Vimeo page is not playing your file. Vimeo states that during transcoding your video is re-encoded into several formats, and it publishes the ceiling each of those formats gets: up to 22 Mbps at 4K on the H.264 ladder, up to 16 Mbps at 4K on the HDR ladder, up to 12 Mbps at 2K and up to 7 Mbps at 1080p60. Your NLE was showing you the master. The page is showing you a rendition built to a fixed bit budget.
Usually not, but check three things first, because they are the only ones you control. Vimeo asks for a constant rate factor of 18 or below, H.264 High Profile rather than Main, and a constant frame rate. If all three are right and the picture is still soft, the softness came from the delivery ladder, not from you.
Because the ceiling is a ceiling, not a floor. Vimeo says plainly that the listed bitrates are a maximum and that a video could transcode at a lower bitrate depending on the complexity of the image. A locked-off interview on a clean background is simple and sits comfortably inside the budget. A grainy handheld night exterior asks for many times the data at every frame, gets the same budget, and visibly loses.
Vimeo gates each rendition on the export's pixel dimensions. The 4K rendition is only generated when the larger dimension is at least 3,648 px or the smaller is at least 2,052 px. A wide cinema crop can carry a 4K-sounding label and still fall under the gate, in which case the best rendition ever built is 2K, delivered at up to 12 Mbps, and the player does not tell the viewer.
Yes, and its own two help pages document the gap. The compression guidelines ask you to upload AAC-LC at 320 kb/s CBR, 48 kHz. The playback tables cap delivered audio at 256 Kbps from 540p through 4K, and at 265 Kbps on the HDR renditions. A mix that has lost its air on the Vimeo page has been re-encoded downward by design.
uncompressed.io streams the exact bytes you upload, with no transcode, no rendition ladder and no audio re-encode, on every plan including the free 5 GB tier. Uploads are MP4 or MOV in H.264, HEVC or AV1, up to 50 GB per file. The trade is stated plainly: with no ladder to fall back to, a viewer on a slow connection buffers instead of being quietly handed a softer copy.
uncompressed.io streams the exact bytes you upload. No second encoder, no rendition ladder, no audio re-encode, on every plan including the free 5 GB tier.