Guide
Why your TikTok videos look blurry
Almost every guide on this tells you to change your export bitrate. That is mostly beside the point. Here is what is actually happening to your file, what genuinely changes the outcome, and one result we measured ourselves that nobody else seems to publish.
The short answer
TikTok re-encodes your video after you upload it. What your viewers watch is not your file. It is a new file that TikTok's encoder produced from your file, at a bitrate it chose, and it is always smaller than what you sent.
That single fact explains most of the confusion. You can export a pristine 1080p video at a high bitrate and still watch it come out soft, because the thing you carefully exported was only ever an input. Softness in the result is TikTok's encoder being stingy, not your export being wrong.
So the useful question is not "what settings make my file better?" It is "what makes TikTok's encoder treat my file more gently?" Those are different questions, and most advice answers the first one.
Check these three things first
These are free, take a minute, and fix a genuinely large share of blurry uploads. Do them before touching any export setting.
1. Turn on high-quality uploads
On the post screen — the one with the caption box, right before you publish — open More options and enable Allow high-quality uploads. It does not appear while you are recording or editing, only at the final step, which is why so many people have never seen it.
App updates sometimes reset it. If quality suddenly got worse for no reason, check this first.
2. Turn off Data Saver
Settings and privacy → Cache and Cellular → Data Saver. It reduces quality on both playback and upload. If it is on, you are sending a degraded file before TikTok has even touched it.
3. Upload from a computer, not your phone
This is the one people skip, and it may be the most consequential. The upload size ceiling is dramatically different by platform:
| Upload method | Approximate file size limit |
|---|---|
| Android app | ~72 MB |
| iOS app | ~288 MB |
| Desktop web | ~1 GB |
A minute of 1080p at a decent bitrate clears 72 MB easily. When your file exceeds the app's ceiling, it gets compressed on your device before the upload even begins — so TikTok's encoder is then working from an already-damaged copy. Two rounds of compression instead of one, and you can see it.
Export settings that do matter
These are the ones worth getting right. There is more detail, including what changes once nothing is re-encoding your file, in TikTok export settings that actually matter.
- 1080 × 1920, 9:16. This is the target. Anything else gets scaled, and scaling costs sharpness.
- Do not export in 4K. TikTok caps at 1080p, so a 4K file is downscaled anyway — you just spent your size budget on pixels that get thrown away.
- H.264 in an MP4. The most predictable path through their pipeline.
- Export once. Every re-edit and re-export is another lossy generation. Editing an exported file, then exporting again, visibly degrades it before TikTok even sees it. CapCut users: we looked at what a CapCut export actually contains.
What the advice gets wrong
Specific bitrate numbers. Guides confidently recommend 5–10 Mbps, or 8–12, or "at least 2". They contradict each other because none of them know: TikTok does not publish its encoding ladder. Past a reasonable threshold, a higher export bitrate mostly makes a bigger file — which, as above, can actively hurt you by tripping the app's size ceiling.
Uploading at a particular time of day. There is no mechanism by which this could work. Encoding is not queued by server load in a way that changes output quality.
Deleting and re-uploading until it looks better. The encoder is deterministic enough that the same input produces the same class of output. You are changing nothing.
The part we measured
Here is something we have not seen documented anywhere else, and we only believe it because we tested it rather than read it.
An MP4 states its duration in two places: once for each track, and once for the movie as a whole. Those normally agree. If the movie-level figure is written as unknown — a valid thing to do, which players handle fine because they read the per-track values — then something changes in TikTok's pipeline.
We uploaded the identical 1080 × 1920 clip four ways, changing one variable at a time:
| Movie duration | Audio | Result | |
|---|---|---|---|
| A | normal | re-encoded to 48 kHz | dropped to 540p |
| B | normal | untouched, 44.1 kHz | dropped to 540p |
| C | unknown | untouched, 44.1 kHz | full quality |
| D | unknown | re-encoded to 48 kHz | full quality |
The audio made no difference at all. The duration field decided it every time. Our reading is that something in the ingest path uses the movie header to size up the video, and a file it cannot size up does not get put through the usual re-encode.
We cannot see inside TikTok, so that explanation is inference. The measurements are not — same source clip, one variable changed, repeated.
This relies on a quirk, not a feature. It could stop working whenever TikTok changes its ingest code, without any announcement. Treat it as a useful trick with a shelf life rather than a permanent fix.
Doing it yourself
We built a free tool that makes exactly that change: zaclip. It rewrites the one header field and copies every frame of video and audio byte for byte — nothing is re-encoded, so it cannot cost you quality even if TikTok stops responding to it.
It runs entirely in your browser. Your video never leaves your device, there is no upload, no account, and no size limit. It is free and there is nothing to install.
A realistic summary
Turn on high-quality uploads, turn off Data Saver, and upload from a computer. Export once, at 1080 × 1920, in H.264. Those four things will fix most blurry uploads, and they cost nothing.
Beyond that, accept that TikTok re-encodes everything and that you are managing how much it takes, not whether it takes anything. Anyone promising you untouched quality — including us — is describing a workaround for someone else's pipeline, and those do not last forever.