vidcord

Local video compression for Discord limits.

Compress MP4, MOV, MKV, AVI, WebM, FLV, and WMV files under Discord's 20, 50, 100, or 500 MB limits using FFmpeg locally. Lossless Trim cuts on keyframes without re-encoding. GIF Mode creates Discord-ready GIFs at 15, 30, or up to 50 FPS.

Select multiple videos to switch automatically to Batch mode, with per-file details, separate start/end trims, and a queue-wide progress estimate.

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 Compress mode with video preview, trim timeline, and Discord target controls

100% local

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

Discord targets

Choose a 20, 50, 100, or 500 MB limit and let vidcord calculate the bitrate. GIF Mode supports 20 MB Free and 50 MB Nitro Basic exports at 15, 30, or up to 50 FPS. Select multiple videos to apply the standard Compress settings through Batch mode.

Trim and preview

Scrub, preview, and compress only the range you need. Lossless Trim preserves source streams with keyframe-aligned boundaries. If a segment already fits the target, vidcord offers that option with a clear keyframe warning. Linux uses FFmpeg frame and filmstrip previews for stable scrubbing.

GPU acceleration

Detects NVENC, AMF, QSV, VAAPI, and VideoToolbox, prefers H.264 hardware on first run, and keeps CPU fallback ready.

How it works

Three steps from a large clip—or a batch—to Discord-ready uploads.

1

Add your videos

Drag and drop, browse, or use Open With from Finder or Explorer. Multi-select to activate Batch mode automatically.

2

Choose controls and trim

Select a Discord size target, cap FPS or remove audio if needed, and preview a single-video range from the playhead. Batch mode uses standard Compress controls with separate start and end trim seconds for every queued video.

3

Compress and save

Run FFmpeg locally, verify the size, and choose Downloads, the clip folder, a custom folder, or a save prompt. Batch runs up to two encodes concurrently, estimates the whole remaining queue, continues after individual failures, and can copy or reveal the successful outputs as a group.

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

Compress includes aspect-ratio crop presets, while Advanced mode adds custom size, resolution, FPS, audio normalization, and encoder controls. GIF Mode keeps crop presets, while Lossless Trim preserves video streams and can remove audio without re-encoding. Size-based exports offer Lossless Trim when a selected segment fits the target. Encoder detection shows which installed encoders work, and saved choices remain sticky.

  • Automatic Batch mode for multiple selections: per-file source details and status, separate start/end trim seconds, removable queue items, up to two concurrent standard Compress encodes, adaptive serial fallback, and an aggregate ETA for the remaining queue.
  • Strict output size checks with safer retry behavior.
  • Named settings presets with Autosave, restore, and delete controls for export settings.
  • Output FPS controls for 24, 30, 60, or a custom advanced value.
  • Crop to 16:9, 1:1, 9:16, 4:3, 3:4, 4:5, or 5:4 before scaling.
  • Peak-normalize audio so its highest sample peak reaches 0 dB, or remove it for more video bitrate.
  • Advanced mode's mixer lists every source audio track by name and estimated size, then lets you select one, several, or all tracks for that video. With no custom choice, Advanced and standard compression keep the first track unless another is at least 20% larger by estimated data; each selected track reserves 128 kbps.
  • Save full-resolution PNG snapshots using the preview button or Cmd/Ctrl+Shift+S.
  • 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 and an independent Ed25519 release signature.
vidcord advanced mode with target size, resolution, and encoder controls

Keep the original quality with Lossless Trim.

Lossless Trim cuts on source keyframes without re-encoding the video. Choose the section you need, keep or remove audio, and export an original-quality clip quickly with stream-copy processing.

  • No video re-encoding for fast, original-quality exports.
  • Trim boundaries snap outward to source keyframes.
  • Keep audio or remove every audio track without re-encoding video.
  • Size-based exports offer it when the selected segment is estimated to fit.
  • Falls back to normal compression when stream copying is incompatible.
vidcord Lossless Trim mode with keyframe-aligned trim controls and no video re-encoding

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 20 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

Compress a whole queue in Batch mode.

Select multiple videos and vidcord probes, trims, and encodes each one independently. The queue keeps source details and per-file progress visible while the aggregate status shows how much of the batch is complete.

  • Select multiple videos through Browse, drag-and-drop, Open With, or the command line.
  • Apply shared standard Compress settings with separate start and end trims.
  • Run up to two encodes at once, with a serial fallback when resources contend.
  • Continue after individual failures and keep collision-safe MP4 outputs.
  • Cancel active work while queued items are skipped cleanly.
vidcord Batch mode with a multi-video queue, per-file status, and aggregate compression progress

Open one or more videos from Explorer or Finder

Start from your file manager and get compressed MP4s in Downloads or another output location. Select multiple files to enter Batch mode automatically. Native notifications mirror vidcord's banners while the app is unfocused; click one to restore and focus it.

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. FFmpeg runs on your computer, so videos stay local. vidcord requires no account or telemetry. The app checks GitHub for updates, while the website requests only public release data and aggregate download counts; neither request includes video data.

Which Discord upload limits are supported?

Presets cover Discord's current 20 MB, 50 MB, 100 MB, and 500 MB limits. Advanced mode adds custom size, resolution, FPS, and encoder controls. GIF Mode supports 20 MB Free and 50 MB Nitro Basic exports at 15, 30, or up to 50 FPS.

Can vidcord compress multiple videos at once?

Yes. Select two or more videos through Browse, drag-and-drop, Open With, command-line arguments, or a second instance to activate Batch mode. The queue shows source details and per-file status, applies standard Compress controls with separate start/end trims, runs up to two encodes concurrently by default, falls back to one at a time when resources contend, continues after individual failures, and reports a whole-queue ETA.

Can vidcord change output FPS?

Yes. Standard mode can leave FPS unchanged or cap it at 24, 30, or 60 FPS. Advanced mode accepts a custom value or Off.

Are scrubbing and playback previews available on Linux?

Linux uses FFmpeg to generate filmstrip and frame previews while scrubbing. Live video scrubbing and trim playback are disabled because WebKitGTK can crash the renderer on some systems.

Does vidcord include FFmpeg?

No. Install ffmpeg and ffprobe and make them available on PATH. vidcord can help with the platform package-manager steps.

How does the download button work?

The site detects your OS and links to the matching latest-release asset. If x64 or ARM64 is unclear, it asks you to choose. It also shows aggregate download counts when Shields.io is available.

How do in-app updates work?

Update checks wait until startup settles and run at most every six hours. After approval, vidcord streams, validates, and hashes the installer against GitHub's SHA-256 digest, verifies its independent Ed25519 release signature, saves it under an unused name, and opens it. The release page remains 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 it finishes, select Retry in vidcord. The app recognizes WinGet's install directory without a restart. If winget fails, 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.