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.19.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.19.0
File Size Uploaded Provenance Actions
trimmy-0.19.0.tar.gz 789.4 kB Without provenance Details for trimmy-0.19.0.tar.gz

Built distribution (wheel)

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

Total release size: 1.6 MB

Release files / trimmy-0.19.0.tar.gz

Download URL trimmy-0.19.0.tar.gz
Size 789.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0f5a2fe8cf14b73bedbd4b995c6c5e301c323e4f084bf36721da9ae76d8aaf28
BLAKE2b-256 checksum
How to use checksums
ebf7b9cec242769ce2d2cc092101ddb875990082c8ca018435a3869db67d16bb
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.19.0-py3-none-any.whl

Download URL trimmy-0.19.0-py3-none-any.whl
Size 823.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdc4d4ccf3967cc39d8e296d5db546a9992e7186e48d3713a7326ca135e9c7f4
BLAKE2b-256 checksum
How to use checksums
fac837ac05321e42e54b435a8bbdf11591f1afa8e3adaf31dce1209c5bec2bf3
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.19.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