<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: videocompress</title>
    <description>The latest articles on DEV Community by videocompress (@videocompress).</description>
    <link>https://dev.to/videocompress</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4121579%2F53243b52-1101-43e9-85d2-65f6320b2364.png</url>
      <title>DEV Community: videocompress</title>
      <link>https://dev.to/videocompress</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/videocompress"/>
    <language>en</language>
    <item>
      <title>How to compress a video to 10MB for Discord (in the browser)</title>
      <dc:creator>videocompress</dc:creator>
      <pubDate>Sat, 12 Sep 2026 03:31:30 +0000</pubDate>
      <link>https://dev.to/videocompress/how-to-compress-a-video-to-10mb-for-discord-in-the-browser-284g</link>
      <guid>https://dev.to/videocompress/how-to-compress-a-video-to-10mb-for-discord-in-the-browser-284g</guid>
      <description>&lt;p&gt;How to compress a video to 10MB for Discord (in the browser)&lt;/p&gt;

&lt;p&gt;Discord's free upload limit is 10MB. A two-minute screen recording or a phone clip is usually bigger than that, so the upload fails and you start hunting for an "online compressor."&lt;/p&gt;

&lt;p&gt;Most of those sites upload the file to a server. If the clip is a client call, a game session, or anything you do not want sitting on someone else's disk, that is the wrong tool.&lt;/p&gt;

&lt;p&gt;You can compress a video to 10MB in the browser instead. The file never leaves the tab.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Open the compressor
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://videocompress.dev" rel="noopener noreferrer"&gt;videocompress.dev&lt;/a&gt;. There is no account and no watermark. Pick the video (MP4, MOV, WebM, MKV, and other formats your browser can decode). It stays on your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Set the target to 10MB
&lt;/h2&gt;

&lt;p&gt;Choose &lt;strong&gt;Target size&lt;/strong&gt; and enter &lt;code&gt;10&lt;/code&gt;. That is the Discord free-tier cap. The tool picks a bitrate from the duration and leaves a safety margin, so the download usually lands &lt;em&gt;under&lt;/em&gt; 10MB rather than slightly over.&lt;/p&gt;

&lt;p&gt;If the clip is a screen recording with a lot of text, keep the original resolution first. Dropping to 720p only helps when the encode is starving for bits. On a test screen recording (10.70MB → target 10MB) the output was 5.61MB at the same 1280×720, and the on-page text stayed readable.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Download the MP4 and send it
&lt;/h2&gt;

&lt;p&gt;Output is MP4 (H.264 + AAC), which Discord plays without a fight. Upload that file in the channel.&lt;/p&gt;

&lt;p&gt;If it is still too big: set resolution to 720p and run it again. If your phone runs out of memory on a long 4K clip, use a desktop — there is no server quota, but there is a device-memory quota.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this does not do
&lt;/h2&gt;

&lt;p&gt;It does not upload the video. It does not promise a specific look at 10MB on every source. A 45-second noisy 1080p clip will look softer than a talking-head clip of the same size. Judge the preview before you send.&lt;/p&gt;

&lt;p&gt;Need a hard cap on a file that is too large for the browser tab? That is a different tool. This page is the no-upload path.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>ffmpeg</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I built a cloud video compressor that hits an exact file size</title>
      <dc:creator>videocompress</dc:creator>
      <pubDate>Sat, 12 Sep 2026 01:57:21 +0000</pubDate>
      <link>https://dev.to/videocompress/i-built-a-cloud-video-compressor-that-hits-an-exact-file-size-1oc8</link>
      <guid>https://dev.to/videocompress/i-built-a-cloud-video-compressor-that-hits-an-exact-file-size-1oc8</guid>
      <description>&lt;p&gt;Sometimes in-browser compression is the wrong tool: a 4K timeline, a machine without spare CPU, or you just need &lt;strong&gt;this file to be 8MB&lt;/strong&gt; and you don't want to guess CRF.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vidsmaller.com" rel="noopener noreferrer"&gt;VidSmaller&lt;/a&gt; encodes in the cloud to a target size. You pick the MB (or a Discord / WhatsApp / email / Reddit preset). No watermark.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Exact target file size&lt;/li&gt;
&lt;li&gt;33 input formats&lt;/li&gt;
&lt;li&gt;Advanced mode: H.264 / H.265, CRF, resolution&lt;/li&gt;
&lt;li&gt;Files deleted after processing&lt;/li&gt;
&lt;li&gt;Free to try (small files / limited credits). Pro unlocks larger files and H.265&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it's different from videocompress.dev
&lt;/h2&gt;

&lt;p&gt;I also maintain &lt;a href="https://videocompress.dev" rel="noopener noreferrer"&gt;videocompress.dev&lt;/a&gt;, which never uploads — everything stays in the tab. VidSmaller is the opposite tradeoff: you upload, the server encodes, your laptop stays cool, and the size target is exact.&lt;/p&gt;

&lt;p&gt;If your clip is sensitive, use the in-browser one. If you need a hard size cap or a format the browser stack doesn't like, use VidSmaller.&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://vidsmaller.com" rel="noopener noreferrer"&gt;vidsmaller.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>saas</category>
      <category>ffmpeg</category>
    </item>
    <item>
      <title>I built a free in-browser video compressor — the file never leaves your device</title>
      <dc:creator>videocompress</dc:creator>
      <pubDate>Sat, 12 Sep 2026 01:54:55 +0000</pubDate>
      <link>https://dev.to/videocompress/i-built-a-free-in-browser-video-compressor-the-file-never-leaves-your-device-52pk</link>
      <guid>https://dev.to/videocompress/i-built-a-free-in-browser-video-compressor-the-file-never-leaves-your-device-52pk</guid>
      <description>&lt;p&gt;I wanted a compressor I could trust with client footage. Most "online video compressor" sites upload the file to a server. That's slow, and it's a privacy problem.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://videocompress.dev" rel="noopener noreferrer"&gt;VideoCompress&lt;/a&gt;: compression runs in the browser. The video is not uploaded.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Drop in MP4, MOV, WebM, MKV, AVI, and similar&lt;/li&gt;
&lt;li&gt;Set a &lt;strong&gt;target size in MB&lt;/strong&gt; (Discord 10, email 25) or pick High / Balanced / Small&lt;/li&gt;
&lt;li&gt;Optional downscale to 1080p / 720p / 480p&lt;/li&gt;
&lt;li&gt;Output is a widely compatible MP4 (H.264 + AAC)&lt;/li&gt;
&lt;li&gt;No account, no watermark, no file-size paywall&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;When the browser supports it, &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API" rel="noopener noreferrer"&gt;WebCodecs&lt;/a&gt; does the heavy lifting. If not, it falls back to FFmpeg compiled to WebAssembly. Either way, processing stays on the device. The practical limit is your machine, not a server quota.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why not just use HandBrake?
&lt;/h2&gt;

&lt;p&gt;HandBrake is great. This is for the case where you already have a browser tab open and need a 10MB clip for Discord in two minutes — without installing anything and without sending the file to a random encoder.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://videocompress.dev" rel="noopener noreferrer"&gt;videocompress.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the WebCodecs / ffmpeg.wasm path.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>ffmpeg</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
