Instagram Watermark Remover
If Instagram exposes a source MP4 for your public video post, retrieve that available file here, preview it and download it. This avoids making a new screen recording. It does not erase logos, captions or artwork already burned into the video. Some public posts expose only a poster or no supported video source; those inputs are rejected rather than returned as a fake video.
Use public media you are allowed to download. Downloading does not grant reuse rights. Your public link is sent through Cleanmark's server to Instagram; this is not browser-only processing. No Instagram password or account cookie is requested.
Ready when the local controls load.
Preview, then save
- Paste a complete public Instagram post or Reel link and confirm the notice.
- Get the available MP4. A successful lookup alone does not prove the saved file is right.
- Play the preview, inspect its framing and check any expected audio. Then save the MP4 and reopen it.
Supported route and limits
This route reads the public embed for one post. It does not use a logged-in Instagram session, remove access restrictions, handle private messages or download an entire profile. A Reel URL is accepted as input, but only when that public embed actually exposes a supported MP4. Photo-only responses are not silently treated as videos. A transient download link lasts up to 15 minutes in the serving location; an unavailable or expired link requires a new lookup. Downloads are capped at 120 MiB. Availability can change when Instagram changes the public page or media link.
The returned file is passed through, not cropped or re-encoded. That also means graphics embedded by the creator remain. If those are the marks you want removed, this source-download route does not do that job.
What our actual source-file checks found
We tested two public examples listed in the Cobalt project's regression fixtures on 22 October 2026. These were upstream public examples, not media owned by Cleanmark. We did not republish their pictures, video frames or audio. The first returned a real video file. The second exposed a poster through the route we inspected, even though its input address was a Reel. That difference mattered more than whether the network request returned a success status.
For the regular-video example, the directly retrieved file contained 1,233,135 bytes. The Cloudflare test route returned the same number of bytes, and a download made through the actual browser form matched both files by SHA-256. We checked the file signature as well as its media type. Its response was video/mp4 and its bytes contained the MP4 file-type box. This was a source-file pass-through, not a new silent screen recording disguised with a video filename.
The saved MP4 decoded fully with no decoding error. It contained H.264 video at 720 by 1280 pixels and an AAC stereo audio stream. The browser reported a duration of 4.525034 seconds and reached the end of playback without a video error. The dimensions, codec and audio claims come from that downloaded file; the duration shown in the tool rounds the browser value to 4.53 seconds. They describe this sample, not every Instagram export.

The Reel example exposed a different failure. An upstream local extraction attempt produced a file with an MP4 extension, but independent inspection found a JPEG: 25,484 bytes, 640 by 1026 pixels, with a JPEG header. A successful response had delivered an image, not the requested video. Its public browser page did have a video player, so this failure did not prove that the post itself was a photo. It showed that this extraction route had not obtained the playable source.
Our narrower route therefore requires an available video source, then checks the returned MP4 media type and file signature. In the deployed test, that same poster-only embed produced an explicit rejection rather than a download presented as a video. We did not crop the poster, record the public player or import an account cookie to turn that failed lookup into an apparent success. A different public post may behave differently, and availability can change.
These checks establish a working path for the tested source, with a visible failure for the poster case. They do not establish that every Reel can be downloaded or that any creator's embedded logo has been erased. A byte-identical file preserves the source's artwork as well as its audio. Inspect the actual preview and saved file, and use another workflow if the mark is already part of the video pixels. The temporary download link is a delivery mechanism, not proof of a completed file until you save and check it.
Choose the matching workflow
A TikTok share link uses the separate TikTok MP4 workflow. A local PNG, JPG or WebP uses the image repair steps. Neither of those routes is presented as an Instagram source lookup.
The public examples used for these checks are listed in the Cobalt regression fixtures. Cleanmark uses an independently implemented JSON-context reader, not the Cobalt runtime or a public Cobalt instance. New feature source: Instagram service and input policy.