vidcord

Local video compression for Discord limits.

Shrink MP4, MOV, MKV, AVI, WebM, FLV, and WMV files to Discord's current 10 / 50 / 100 / 500 MB upload limits, or a legacy 25 MB target, with FFmpeg on your own machine. GIF Mode also creates animated GIFs for the 10 MB Free and 50 MB Nitro Basic tiers at 15, 30, or Discord-safe maximum 50 FPS.

downloads

FFmpeg required vidcord can help install ffmpeg and ffprobe before compressing videos.

Detects Windows, macOS, or Linux and selects the latest release asset.

Tauri 2
Small native desktop app
Offline
No uploads or telemetry
FFmpeg
Install it before compressing
vidcord desktop app with video preview, trim timeline, preset picker, and compression controls

100% local

Your files stay on your device. vidcord never uploads video to a server.

Discord targets

Pick a current 10, 50, 100, or 500 MB Discord limit—or the legacy 25 MB target—cap FPS if needed, and let the app calculate the bitrate. GIF Mode provides focused 10 MB Free and 50 MB Nitro Basic animated GIF exports with selectable 15, 30, or Discord-safe maximum 50 FPS.

Trim and preview

Cut the part you need, scrub the timeline, preview from the playhead, then compress only that segment. On Linux, FFmpeg-generated filmstrip and frame previews remain available while live video scrubbing and trim playback are disabled for stability.

GPU acceleration

Detects NVENC, AMF, QSV, VAAPI, and VideoToolbox so you can choose an encoder.

How it works

Three steps from large clip to Discord-ready upload.

1

Add your video

Drag and drop, browse, or use Open With from Finder or Explorer.

2

Choose preset and trim

Select a Discord size target, cap FPS or remove audio if needed, and preview the range from the playhead.

3

Compress and save

vidcord runs FFmpeg locally, verifies the size, and saves to Downloads, beside the clip, to a custom folder, or wherever you choose when it finishes. Then it copies the file itself to your clipboard by default or reveals it in your file manager.

Simple when you want it. Precise when you need it.

Advanced mode lets you set a custom target size, resolution, FPS, and encoder string. Leave target size empty to use the source video's bitrate without a file-size limit. Encoder detection shows what your installed FFmpeg can actually use.

  • Strict output size checks with safer retry behavior.
  • Output FPS controls for 24, 30, 60, or a custom advanced value.
  • Optional audio removal for more video bitrate.
  • Race-safe cancellation that waits for FFmpeg to exit and cleans partial output.
  • Atomically reserved auto-named outputs that never overwrite your files.
  • Downloads, source-folder, remembered custom-folder, and ask-when-done options.
  • Copy the output file itself to the clipboard or reveal it in your file manager.
  • User-approved update installers verified against GitHub's SHA-256 digest.
vidcord advanced mode with target size, resolution, and encoder controls

Turn the best moment into a Discord-ready GIF.

GIF Mode swaps in focused controls for animated exports. Choose a Discord Free or Nitro Basic size target and the motion quality you want, then let vidcord optimize the result locally.

  • Focused 10 MB Free and 50 MB Nitro Basic targets.
  • Selectable 15, 30, or Discord-safe maximum 50 FPS output.
  • Automatic palette generation for cleaner color and motion.
  • Adaptive size retries that preserve your selected frame rate.
  • No audio track or unrelated video-only controls.
vidcord GIF mode with Discord size targets, frame-rate control, trim timeline, and Create GIF button

Open videos from Explorer or Finder

vidcord registers as a video app, so you can start from your file manager and get the compressed MP4 back in Downloads by default or choose another output location.

Windows context menu

Right-click a video and choose vidcord from Open with.

Windows File Explorer context menu showing vidcord as an Open with option

macOS Finder

Use Open With in Finder to send a local video straight into vidcord.

macOS Finder Open With menu showing vidcord for a video file

Saved output file

Exports use a safe auto-incremented filename in Downloads, beside the clip, or in your saved custom folder. Ask when done opens a save prompt after compression.

Compressed vidcord MP4 output file saved in the Downloads folder

Questions people ask before downloading

Short answers for searchers, crawlers, and anyone checking how vidcord works.

Does vidcord upload videos?

No. vidcord runs FFmpeg on your computer, keeps files local, and does not require an account or telemetry. It checks GitHub Releases for updates and only downloads an installer after you approve an available update. The website requests public release metadata from GitHub and an aggregate download count from Shields.io; neither request includes video data.

Which Discord upload limits are supported?

The presets cover Discord's current 10 MB, 50 MB, 100 MB, and 500 MB upload limits, plus a legacy 25 MB target. Advanced mode can set a custom target size, resolution, FPS, and encoder, or use the source video's bitrate when target size is empty. GIF Mode exports animated GIFs for the 10 MB Free and 50 MB Nitro Basic tiers at 15, 30, or Discord-safe maximum 50 FPS.

Can vidcord change output FPS?

Yes. Standard mode can leave FPS unchanged or cap output at 24, 30, or 60 FPS without showing choices above the source frame rate. Advanced mode accepts a custom FPS value or an empty Off field for no change.

Are scrubbing and playback previews available on Linux?

Linux provides FFmpeg-generated filmstrip and individual-frame previews while scrubbing. Live video scrubbing and trim playback are disabled because WebKitGTK's GStreamer playback path can crash the renderer on some systems.

Does vidcord include FFmpeg?

No. Make sure ffmpeg and ffprobe are available on your PATH. vidcord can help install them with the platform package-manager steps.

How does the download button work?

The site checks the latest GitHub release, detects Windows, macOS, or Linux in the browser, and links directly to the matching release asset. If x64 or ARM64 cannot be determined with enough certainty, it asks you to choose. It also shows the aggregate GitHub release download count when Shields.io is available.

How do in-app updates work?

Automatic checks wait until startup settles and run at most once every six hours. After you approve an update, vidcord streams the matching installer to Downloads, validates its size and completeness, compares it with GitHub's published SHA-256 digest, chooses an unused filename, and opens it. The release page remains available as a fallback.

Set up FFmpeg

vidcord does not bundle FFmpeg. The installer or first launch can help install it through your platform package manager, then detect ffmpeg and ffprobe automatically.

Full FFMPEG_SETUP.md
Detected platform

Windows

vidcord can run this through the installer or first-launch setup:

winget install Gyan.FFmpeg

When installation finishes, use Retry in vidcord. The app recognizes WinGet's FFmpeg install directory without requiring a Windows restart. If winget cannot install on your machine, use the full guide.

Detected platform

macOS

Install Homebrew if you do not have it, then run this in Terminal:

brew install ffmpeg

After Homebrew finishes, reopen vidcord. It will look for ffmpeg and ffprobe on your PATH.

Detected platform

Linux

Install FFmpeg with your distribution package manager:

sudo apt install ffmpeg
sudo dnf install ffmpeg
sudo pacman -S ffmpeg

Use the command for your distro, then launch vidcord normally. The app uses the system ffmpeg and ffprobe binaries.

Download vidcord

Free, open-source, MIT licensed. Built for Windows, macOS, and Linux.

Checking latest release...
FFmpeg required vidcord can help install FFmpeg through your package manager. The app shells out to your system ffmpeg and ffprobe.

Choose download

Your browser did not report this device architecture with enough certainty. Choose the build that matches your computer.