Skip to main content

Trimmy

Vertical split-crop video editor. Take any video, pick two crop regions, stack them top-and-bottom into a 9:16 frame, and export optimized for social media.

The output stacks the two crops vertically into a single 9:16 video — ideal for reaction content, split-screen tutorials, gameplay + facecam, and Reels / TikToks / Shorts.

Install

pip install trimmy

Or run it without installing, using uv:

uvx trimmy

Requires ffmpeg and ffprobe available on your PATH, plus Python 3.10+.

Usage

Launch the app:

trimmy

Or open a file directly:

trimmy path/to/video.mp4

Then:

  1. Open or drag-drop a video.
  2. Position the two crop boxes on the source frame (TOP and BOTTOM).
  3. Adjust the split ratio by dragging the red divider.
  4. Trim the timeline to the segment you want.
  5. Pick a platform and quality preset.
  6. Render — ffmpeg encodes a ready-to-upload vertical video.

Keyboard shortcuts

Key Action
K Play / Pause
J Seek backward 5s
L Seek forward 5s
Q Set trim start to playhead
E Set trim end to playhead
M Toggle mute
? Show keyboard shortcuts

Platform presets

Platform Resolution Max FPS Max Size Codec
Instagram 1080x1920 60 300 MB H.264 High 4.0
TikTok 1080x1920 60 4 GB H.264 High 4.2
Twitter/X 1080x1920 60 512 MB H.264 High 4.2
WhatsApp 720x1280 30 16 MB H.264 Main 3.1
Telegram 1080x1920 60 2 GB H.264 High 4.2

Each platform offers a Max mode (highest quality, slower encode) and an Optimized mode (smaller files, faster encode). WhatsApp auto-caps bitrate to fit the 16 MB limit.

Development

Trimmy is built with PySide6. To work on it from source:

git clone https://github.com/musantro/trimmy.git
cd trimmy
uv sync
uv run python -m trimmy

See CHANGELOG.md for release history.

Documentation

The documentation site lives in docs and is configured with MkDocs Material:

uv run --group docs mkdocs serve

License

MIT

Metadata

Release files for trimmy 0.20.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trimmy 0.20.0
File Size Uploaded Provenance Actions
trimmy-0.20.0.tar.gz 792.4 kB Without provenance Details for trimmy-0.20.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for trimmy 0.20.0
File Interpreter ABI Platform Actions
trimmy-0.20.0-py3-none-any.whl Python 3 none any Details for trimmy-0.20.0-py3-none-any.whl

Total release size: 1.6 MB

Release files / trimmy-0.20.0.tar.gz

Download URL trimmy-0.20.0.tar.gz
Size 792.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0f90776975cf0e3188667eb522411dde077535ba3b2cf33ac838e1c4b8cf09b1
BLAKE2b-256 checksum
How to use checksums
73ddeaa7060f51addd297451d5452a2e63a36978e654595c4aafefcd1d5d6e72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / trimmy-0.20.0-py3-none-any.whl

Download URL trimmy-0.20.0-py3-none-any.whl
Size 827.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94919af9741a513db7b75931aa88464953cddf0cdee64ff6b9a4b5cd261e541d
BLAKE2b-256 checksum
How to use checksums
7486d557c7a888531ca6ccf717fa7e9858ea409c3904eee9d45df9140bd03ad9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for trimmy 0.20.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page