Features

Everything it does,
and exactly how.

No feature list padding and no "pro" column. This is the whole app — all of it free, all of it on your phone.

Compression

Pick how small in one of six ways. The estimate updates live, before anything is encoded.

Ninja Auto
Reads each video's bitrate, resolution and codec, then picks the biggest saving that still looks sharp.
Quality
Five steps you can name: Extreme, High, Balanced, Small, Tiny.
Target size
"Fit this into 25 MB" — the one for attachments and upload caps.
Percentage
Aim each video at a share of its own size. Useful for a mixed batch.
Resolution
Pick the height, 2160p down to 240p; bitrate follows.
Manual bitrate
For when you already know the number.

Hardware encoders do the work, so a 4K clip takes minutes. When a device's encoder refuses a file, Ninja steps down a four-rung fallback ladder and finishes in software instead of failing.

The Reveal: 403 MB reclaimed, 92% smaller, with a draggable before/after comparison at the same timestamp.
The Reveal — compare at the same timestamp, pinch to inspect.

Share presets

Each preset carries its platform's size cap and its resolution and frame-rate ceilings, so the platform has no reason to re-compress what you send.

PresetSize capMax heightMax fps
WhatsApp16 MB720p30
Telegram2 GB1080p
Discord10 MB720p
Discord Nitro500 MB1080p
iMessage / MMS3.5 MB480p
Gmail25 MB1080p
Outlook20 MB1080p
Yahoo Mail25 MB1080p
Instagram Feed650 MB1080p30
Instagram Reels650 MB1920p30
Instagram Story650 MB1920p30
TikTok287 MB1920p60
YouTube Shorts2 GB1920p60
X (Twitter)512 MB1080p
LinkedIn5 GB1080p

Caps are the values each preset targets in the app, sized to the platforms' published limits as of mid-2026. Platforms change them; the guides track the current numbers, and Target size takes any value you type.

The Forge with every share preset listed and WhatsApp 16 MB selected.

Formats

12 containers

MP4 · MKV · MOV · WebM · AVI · WMV · FLV · 3GP · MPEG · TS · M4V · OGV

6 video codecs

H.264 · H.265 / HEVC · VP8 · VP9 · AV1 · MPEG-4

H.264 and HEVC encode through your phone's hardware encoders. Ninja's FFmpeg build contains no x264, x265 or xvid — see open source for why.

Tools

Fourteen of them, none locked. Watermarks are your text or your image — Ninja never adds its own.

  • Convert

    MP4 · MKV · WebM · MOV and more

  • Trim

    Cut the start and end

  • Cut the middle

    Remove sections, join the rest

  • Crop

    Free or 16:9 · 9:16 · 1:1 · 4:5 · 4:3 · 2.35:1

  • Merge

    Join clips into one, in your order

  • Speed

    0.25× – 4×, pitch preserved

  • Reverse

    Play it backwards, sound and all

  • Rotate / Flip

    90° steps and mirror

  • Mute

    Strip the audio track

  • Watermark

    Your text or your image, nine positions

  • Subtitles

    Burn in, or add a selectable track

  • Extract audio

    MP3 · M4A · WAV · FLAC · OGG

  • Grab a frame

    Scrub to a moment, save it as PNG or JPG

  • GIF maker

    Palette-optimized · dithering and loop count

Your originals

An original can't be moved, replaced or deleted until the compressed copy passes every one of these, in order. There's no partial credit.

  1. 01
    It existsOutput file exists and is larger than 4 KB
  2. 02
    It parsesContainer parses with at least one video stream
  3. 03
    Same lengthDuration within max(±0.75 s, ±1%) of the expected length
  4. 04
    Sane videoVideo stream has codec, width and height
  5. 05
    Audio survivedAudio stream present and decodable when expected
  6. 06
    Frames decodeFrames decode at start, middle and final keyframe
  7. 07
    In your galleryOutput registered in the media library and readable
  8. 08
    Actually smallerOutput is smaller than the original
  9. 09
    Finished cleanlyJob completed successfully and was not cancelled

Then, one of five outcomes — your choice, per batch or as a default:

Keep both
Original untouched.
Move to Ninja Vault
The original moves to an in-app vault. Restore it any time until you empty it.
Move to system Trash
The original moves to your phone's Trash, restorable for 30 days.
Replace original
The compressed video takes the original's place, name and date — so your gallery timeline doesn't break.
Delete permanently
The original is gone immediately. This cannot be undone.

One confirmation per batch, a ten-second undo, and a savings threshold — 20% by default — below which both files are kept regardless of what you chose.

Reliability

Background jobs
A foreground service keeps long batches running while you use other apps.
Pause and resume
From the notification, or in the app.
Thermal pause
If the phone gets hot, the queue pauses between files and tells you why.
Resume after a kill
If the system closes Ninja mid-batch, it offers to pick up what it lost.
Share into Ninja
Send a video from any gallery or messenger straight into Ninja.
History
Searchable, with in-app playback and a same-timestamp before/after comparison.

Privacy

No analytics, no crash reporting, no advertising ID, no sign-in. The Android app doesn't request the Internet permission, so the system itself keeps it offline. When something goes wrong, the log stays on your phone until you choose to share it. The full policy.

Details

Themes
Dark and light — both hand-tuned rather than inverted, and contrast-checked.
Languages
English, Español, Português, Deutsch, Français, हिन्दी, Bahasa Indonesia, 日本語, Русский.
Where results go
Your gallery, next to the original, or a folder you choose.
An honest limit
Reverse is capped at one minute: it holds every frame in memory, and we'd rather refuse than crash.

All of that, free, on your phone.

Coming soonGoogle PlayComing soonApp Store