A how-to for colorists
How to show color grading work online without compression
Send one file, untouched, and prove what arrived.
A grade lives in shadow gradation, in grain structure and in the soft bloom around a highlight. Those are the first three things a rate-limited re-encode spends its way out of. A before and after is worse still: two halves, re-encoded by different amounts, judged against each other. This page is the practical build: how to cut the comparison, which codec survives the trip, and how to grade for the room the link opens in.
Video hosting for filmmakers · 5 GB free · Paid plans from USD 9/month
By uncompressed.io · Updated September 2026
The short answer
Put both halves in one file,
and let nothing re-encode it.
A before and after is not a video. It is a controlled comparison, and a re-encode is an uncontrolled variable applied to both halves in different amounts. Whatever the client concludes from a re-encoded comparison, they did not conclude it about your grade.
The reason is mechanical rather than rhetorical. A rate-limited encoder allocates bits according to what is in each frame. An ungraded log shot is flat, low in contrast and cheap to encode. A graded shot with crushed blacks, a bloomed highlight and grain running through the whole frame is expensive. Feed both to the same ladder under the same ceiling and the expensive half is the half that gets approximated away. The delta the viewer sees is your work plus an encoder’s opinion, and there is no way to separate the two after the fact.
So the first decision is the host, and it is a binary one: either the platform builds renditions from your upload, or it keeps the object you gave it and hands the player that. Everything else on this page, the way you cut the comparison, the codec you finish to, the checks you run, only matters once that step is off the table.
0
Encodes on our side
No encode step runs at upload, and none runs at playback. Both halves arrive as cut.
5 TB
Per file ceiling
Subject to available account storage. Playback requires a compatible device and sufficient connection speed.
4:2:0
Chroma the Windows HEVC decoder names
The only chroma format in the only primary document that names one. 4:2:2 is absent from it.
35 to 45
Mbps YouTube asks for at 4K
Its own recommended upload range at 2160p standard frame rate, alongside High Profile and 4:2:0 chroma.
What goes first
The damage in a before and after
lands almost entirely on one half.
Shadow falloff, grain and the halation around a hot highlight are the most expensive things a graded frame can carry, so a ceiling spends its way out of those first while the flat ungraded half sails through nearly untouched. That asymmetry is the specific problem for a comparison rather than for a film: the encoder does not damage your work so much as narrow the gap you built the piece to show, and the encoder-side mechanism behind it, with a banding demonstration, is set out in video hosting for colorists.
Building the comparison
One timeline, one export,
not two uploads.
A before and after built as two separate uploads is two encodes on a platform that re-encodes, and two playback sessions everywhere else. Neither of those is a controlled comparison. Put both halves through exactly one path.
Choose the shot the comparison lives on
The wipe should sit on material whose grade is carried by the parts of the picture a delivery path can hurt: a roll into near-black, a wide smooth gradation such as a sky or a wall, and grain if the show has it. A locked-off interview in even light survives every path ever built, which is exactly why it demonstrates nothing. Pick the hardest shot in the show and put the boundary through it.
Prefer a wipe to a static split screen
Nest the ungraded and graded versions of the same shot on two tracks and travel a hard edge across the frame. A wipe shows both versions of the same pixels, so the viewer cannot mistake a compositional difference for a grade decision. A static split screen puts different content on either side of the line, and a client comparing a face to a window is comparing framing, not colour.
Hold the boundary still before you move it
Give the eye two or three seconds with the edge parked before it travels, and park it again on the graded side at the end. A wipe that starts on the first frame reads as a transition rather than as evidence, and a wipe that runs during a camera move gives the viewer two things changing at once. Where the shot has a move in it, cut to a held frame for the comparison and let the moving version play afterwards.
Label the halves, and label the method
A small persistent card reading before and after, on the correct side of the edge, prevents the most common piece of feedback noise there is: a client who liked the wrong half and said so with confidence. Label what the ungraded side actually is, too. If it is log, say log; if it has a transform on it, name the transform. A comparison with a stated method is evidence, and one without a stated method is a picture of two videos.
Export once, at the quality you want judged
One export of the finished comparison, at the quality you want the work judged at. Do not pre-shrink it for the web, and do not export the halves separately to cut them together in a second pass, which puts one half through two encodes and quietly rigs the result. Our own guidance in the upload panel is MP4 or MOV with H.264, HEVC or AV1 at 80 to 100 Mbps for compatibility, which is a recommendation of ours rather than a limit we enforce; the per-file limit is 5 TB, subject to available account storage, checked in the browser and on the server before anything moves.
Give the file one link and keep it
Send the comparison once and replace the file in place when the cut changes, so the link, the embed and the thread the client is already replying in all keep working. Version numbers in filenames are how a client ends up quoting notes on a cut you abandoned two days ago.
Keep an A then B run after the split screen
The codec decision
Finish to the codec the client’s machine decodes,
not the one your suite prefers.
Once nothing re-encodes the file, the only remaining question is whether the viewer’s browser can decode it. That question is answered by vendor documentation, and the documentation is thinner than the internet suggests.
Edge quotes from the Microsoft Edge video playback troubleshooting article; profile, chroma and resolution facts from the Media Foundation H.265 decoder specification; the 4:2:0 chroma line from YouTube's recommended upload encoding settings. All fetched 7 September 2026. The shades-per-channel row is arithmetic: 8-bit gives 256 code values per channel, 10-bit gives 1,024.
Two numbers from that specification are worth carrying into a delivery decision. The documented maximum resolution for that decoder is 4096 by 2304 pixels, which fits UHD at 3840 by 2160 and DCI 4K at 4096 by 2160 and nothing larger. And hardware acceleration is guaranteed only to 1920 by 1088; above that the documentation says decoding uses DXVA if the hardware supports it and software otherwise. A client reporting that your 4K reel stutters while the fan runs is usually describing a software decode, not a bad file.
On 10-bit 4:2:2 specifically, the discipline is to say what is written down. Nobody documents 10-bit 4:2:2 HEVC decode in a video element, in either direction. Apple documents HEVC 10-bit 4:2:2 as an encoding capability added in Compressor 4.6.1 on Apple silicon Macs running macOS Monterey 12.3 or later, which is a statement about producing the format and not about a browser reading it. The full reading of every vendor document is in HEVC 10-bit 4:2:2 browser playback.
Our side of it
We never re-encode,
so the comparison stays a comparison.
The file is served as uploaded
There is no encode step at upload and none at playback. A 10-bit export stays 10-bit, a 4:2:2 export stays 4:2:2, grain stays grain. Nothing is normalized on the way in, which is the whole product and also the reason the decode question belongs entirely to the viewer's browser.
No ceiling to negotiate against
No delivery bitrate can be quoted here, because nothing encodes on delivery and the file's own rate is the only rate involved. The per-file limit is 5 TB, subject to available account storage, checked in the browser and on the server. Plans include storage, team seats and caption allowances, with no bandwidth caps, no per-view charge, and external client viewers never need a paid seat.
The download is the same object
Turn on downloads for a single film and the viewer gets the stored file with an attachment header added, byte-identical to your export. Leave it off and no download link is ever generated. It is per film, on every plan.
The player is the same on every plan
No platform logo, no watermark, no ads, no suggested videos and no end screen, on the free plan exactly as on the paid ones. The only logo it can display is one you upload yourself, which matters when the reel is the pitch.
For showing the work rather than sending it to one client, the portfolio page is built from the films already in your library. Tag one Hero and it runs full width, tag two Featured and they sit side by side, everything else lands three across, in the order you choose. It lives at your own address, yourname.uncompressed.io, and you can drop text, images, buttons and a contact form between the rows. Autoplay is off by default; when you turn it on it applies only to Hero cards, muted, one at a time. The longer version of that setup is in video portfolio hosting.
The concession this page owes you, since it is arguing for one shape of host. For the public showreel, the piece that sits on your site and gets opened by strangers on phones and on conference wifi, YouTube and Vimeo are the right answer and you should use one of them. An adaptive ladder is by definition a set of renditions built to a bitrate ceiling, which is the correct engineering for a viewer whose connection you will never know, and it is free, and the embed works everywhere. YouTube even tells you what it wants at the door: High Profile, 4:2:0 chroma, 35 to 45 Mbps at 2160p standard frame rate. Grade for that ladder and deliver into it. Then keep a no-transcode link for the one thing a ladder cannot carry, which is a controlled comparison going to a handful of people who are being asked to judge the picture itself. The published ceilings on the platforms that do re-encode are laid out in video hosting for colorists.
Grade for where it will be seen
A reel that lives in a browser
is a different deliverable from a theatre pass.
Removing the re-encode does not remove the viewing environment, so choose the environment before you finish the export. A reel that will be opened on laptops in offices is watched in a bright room, on a panel that is probably brighter and cooler than your reference, by someone who will not dim the lights. A pass that reads beautifully at 100 nits in a dark suite can read as murky there, and the client will describe your careful shadow work as underexposed.
The practical answer is not to compromise the grade. It is to keep two versions and know which one you are sending. The reference pass stays the deliverable and the archive. The web cut can carry a slightly lifted floor when the audience is unknown, and it should be built deliberately rather than discovered by accident when a client says the night exterior looked black on their screen.
Check it the way the client will open it, which is almost never the way you sent it. A reel link is watched in a browser window, at whatever size the window happens to be, on a panel running its own default profile, often with a second application in front of half of it. Fine grain judged full screen on a 4K reference reads as texture; the same grain scaled into a 700-pixel-wide window reads as noise, or as nothing at all. Open your own export on a normal consumer laptop, in a lit room, in a window rather than full screen, before the link goes anywhere.
A wipe whose graded side sits three stops down will lose its argument in a bright office no matter how honest the delivery path is, so either choose a different shot for the web cut or say in one line next to the link what the viewer is looking at and where it was made. A colorist who states the intent removes an argument that would otherwise come back as a note.
Verification
A comparison is checked with two frames,
not one.
Agree two timecodes before the link goes out, one inside the ungraded half and one inside the graded half, and ask for a screen grab of each, because the failure mode specific to this piece is not visible damage in either frame on its own but a gap that has quietly closed between them. The general checks that apply to any file, saving what the page served and reading the average bitrate off it, are set out step by step in video hosting for colorists.
The honest limit
A browser can settle which direction is right,
not what the final answer is.
So match the tool to the decision: build the comparison as one file, finish it to something the receiving machine documents, host it where nothing re-encodes it, and use it to choose between looks and to show a client what the work bought them, then move the pass that actually signs the grade off onto a calibrated display or into a room. Why no web player, ours included, can ever be that reference is argued in full in video hosting for colorists.
Tell viewers which file they are seeing
Keep the original export and any lighter review copy clearly labeled. If a client comments on grain, gradients or dark detail, record the source they selected and the device used. Otherwise the feedback may compare different playback assets without anyone noticing.
Use a native review workflow where it solves a format or local-playback requirement, but do not present the current camera log and RAW measurement tools as universally reference-certified. The viewing environment remains part of the test.
Questions
Frequently asked
How do I show color grading work online without compression?
Cut the before and after into a single file, export it once at the quality you want judged, and host it somewhere that performs no transcode, so the bytes the viewer receives are the bytes you exported. On uncompressed.io nothing encodes at upload and nothing encodes at playback, so the object that was stored is the object that is served. Then verify the result rather than trusting it: turn on the per-film download, save what the page served, and compare the file size against your export.
Should the before and after be one file or two uploads?
One file. Two uploads are two separate encodes on any platform that re-encodes, and even on a platform that does not, they are two playback sessions on a viewer's machine, at different moments, with different buffering. A single file puts both halves through exactly one path, so any difference the viewer sees is a difference you made in the grade.
Is a split screen or a wipe more honest than an A then B cut?
Yes, for judging the work, because the eye compares side by side far better than it compares across a cut. A wipe is the stronger of the two: it moves the boundary across the same shot, so the viewer sees the ungraded and graded versions of the same pixels rather than two different regions of the frame. Keep an A then B cut for the parts of the work a split screen cannot show, such as a look that changes the framing energy of the whole sequence.
Can I upload a 10-bit 4:2:2 export?
Yes, and nothing on our side alters it, because no encode step exists to alter it. The decode side is the open question: no vendor documents 10-bit 4:2:2 HEVC decode in a video element, in either direction. The only primary document that names chroma formats for HEVC playback is the Windows Media Foundation decoder specification, and it lists 4:2:0 only. For a comparison that has to open on a machine you cannot name, finish the review copy to 4:2:0 and keep the 4:2:2 export for the download, or test the exact file on the exact machine first.
Can the client download the graded file itself?
Yes, and what they save is byte-identical to what you uploaded: the same stored object with an attachment header added, never a converted or optimised copy. The switch is per film, so the comparison can be downloadable while the rest of the library stays view-only, and it is not tier gated.
Is a web player good enough to sign off a grade?
No, and ours is not either. Match the tool to the decision instead: a browser link is enough to choose between two looks, approve a direction or show a client what the work bought them, and it is not enough for the pass that signs the grade off. That pass belongs on a calibrated display or in a room, with the file played locally.
Show the grade you actually made
uncompressed.io runs no encode step. Your export is kept as one object and the player is handed that object, so the comparison the client watches is the comparison you cut. Plans include storage, team seats and caption-generation allowances. Paid storage and team-seat add-ons are available.
Sources
- 1.Microsoft Learn: H.265 / HEVC video decoder (Media Foundation), format constraints, profiles, chroma formats, resolution limits and the DXVA guarantee (fetched 7 September 2026)
- 2.Microsoft Learn: fix Microsoft Edge video playback problems, the codec support table (fetched 7 September 2026)
- 3.YouTube Help: recommended upload encoding settings, High Profile, 4:2:0 chroma subsampling and the SDR bitrate table (fetched 7 September 2026)
- 4.Apple Support: Compressor 4.6.1 release notes, HEVC 10-bit 4:2:2 encoding on Apple silicon (fetched 7 September 2026)
