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.

See the plans

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.

1

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.

2

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.

3

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.

4

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.

5

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.

6

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

A wipe is the better instrument for a shot and a poor one for a look, because a look works across a sequence, in rhythm and consistency, rather than inside a single frame. Show the comparison on two or three shots, then let a minute of the graded cut run on its own with no boundary in it at all. The first part proves the work. The second part is the only place a viewer can feel what the work was for.

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.

H.264 High, 8-bit 4:2:0
HEVC Main10, 10-bit 4:2:0
HEVC 10-bit 4:2:2
Edge codectable
"Supported"
HEVC as a whole is"conditionally supported"
HEVC as a whole is"conditionally supported";no chroma statement
The exactcondition
Hardware path with asoftware fallback
"Requires a valid HEVC VideoExtension and a workingHEVC decoder path"
Same condition, plus achroma format the specdoes not list
Windows HEVCdecoder spec
Not covered:this is the H.265 spec
Main10 accepted;"if the content is going to be10bit, input media type shouldspecify the profile as Main10"
Absent fromthe chroma line
Chroma formatsdocumented
4:2:0, named in YouTube'sown upload settings
4:2:0 chroma, the onlyformat the spec lists
None. Not documented,in either direction
Shades perchannel
256
1,024
1,024
Where itbelongs
The link that has to workon a machine you cannot name
The before and after whenyou know the machine
The download and the archive,not the review link

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.

Video review app for mac · Offline video review

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.