Skip to content

Repository files navigation

File Island

File Island icon

Drop images, videos, audio, or a whole folder at the top of your Mac and convert locally.
File Island stays quietly near the notch until you need it. No media upload and no separate FFmpeg installation.

简体中文 · Website · Download · User guide · Format matrix

CI Latest release Downloads macOS 15+ Universal Local first

See it in 11 seconds

File Island mixed-folder demo

Click the poster to play in your browser. One folder containing images, video, and audio can be configured by media type and converted as a single batch.

Why File Island

Full commercial conversion suites can be capable but may use one-time or subscription pricing. Browser converters are convenient but usually require an upload. FFmpeg is exceptionally flexible, but not everyone wants to memorize commands. File Island offers a native Mac alternative: a quiet Finder-first interface for common local media work, with safe batching and an automation API when you need it.

Workflow File Island Browser converters Single-purpose GUI apps FFmpeg CLI
Images, video, and audio in one place Varies Usually one media family
Mixed-folder batch processing Usually upload-limited Varies Requires commands/scripts
Media stays on the Mac Usually uploaded
Finder drag-and-drop controls
Structured CLI / agent use Uncommon
Extra runtime setup None; included in DMG Browser Varies Install and maintain separately

File Island does not try to replace a professional editor or claim formats and sharing rules that have not been verified. It fails closed and preserves sources when a request cannot be completed safely.

Highlights

  • native SwiftUI + AppKit interface for notched and non-notched Macs;
  • single files, multiple selections, and ordinary-folder drops;
  • type-aware image, video, and audio groups with independent controls;
  • heterogeneous folder batches with relative folder structure preserved;
  • JPEG/PNG image output with dimensions, quality, target size, and metadata controls;
  • high-compatibility H.264/AAC MP4 video output with Source, 1080p, 720p, and target-size choices;
  • M4A, WAV, FLAC, and AIFF audio output;
  • fast size- and/or duration-constrained splitting for eligible H.264 MP4/MOV files without re-encoding the streams;
  • one-time output-folder authorization, collision-safe names, optional single-output Clipboard copy, and no source overwrite;
  • local-only processing with no account, ads, analytics SDK, or media upload;
  • bundled universal FFmpeg/ffprobe and an isolated media validator—Homebrew is not required;
  • English, Simplified Chinese, and System language modes;
  • a shared conversion core for the app and structured fileisland CLI.

See the format matrix for the exact verified input and output scope.

Download, install, and use

Install with Homebrew:

brew install --cask treafree/tap/file-island

Or install the DMG manually:

  1. Download the DMG and matching SHA-256 from GitHub Releases.
  2. Verify the checksum, open the DMG, and drag File Island.app to Applications.

Then launch File Island from Applications, drag media or a folder from Finder to the Island at the top of the screen, configure each media group, and choose Start. Authorize a persistent output folder on first use; later conversions reuse that folder automatically.

The current early-access build is not signed with Apple Developer ID and is not notarized. macOS may block its first launch. Try to open it once, then use System Settings → Privacy & Security → Open Anyway only for a checksum-verified DMG from this repository's official Release. Never disable Gatekeeper.

The Homebrew cask installs the same unsigned release artifact, so the same first-launch warning may apply. Future releases require a version and checksum update in the TREAFREE/homebrew-tap repository before brew upgrade --cask file-island can install them.

For illustrated, step-by-step videos, read the complete user guide.

Demos

Image conversion Video conversion and splitting
Image conversion Video conversion and splitting
▶ Play image demo ▶ Play video demo
Audio conversion Settings and language
Audio conversion Settings
▶ Play audio demo ▶ Play settings demo

Current limitations

  • macOS 15 or newer is required;
  • MP3 is accepted as input but is not offered as output;
  • WebP is currently input-only;
  • fast splitting accepts H.264 MP4/MOV with AAC audio or no audio;
  • fast splitting depends on existing source keyframes and fails safely when the selected limits cannot be met;
  • RAW, animated-image output, precise re-encoded splitting, general editing/merging, and natural-language commands are not implemented;
  • platform presets for services such as WeChat, Bilibili, or Discord are not published until their rules can be verified.

Build from source

Requirements: macOS 15+, Xcode 16.4+, and Swift 6.

xcodebuild -project FileIsland.xcodeproj \
  -scheme FileIsland \
  -destination 'platform=macOS' \
  -derivedDataPath .build/DerivedData \
  CODE_SIGNING_ALLOWED=NO \
  build
xcodebuild -project FileIsland.xcodeproj \
  -scheme FileIsland \
  -destination 'platform=macOS' \
  -derivedDataPath .build/DerivedData \
  CODE_SIGNING_ALLOWED=NO \
  test

Command-line interface

Build the shared FileIslandCLI scheme. Keep these five adjacent runtime files together: fileisland, ffmpeg, ffprobe, FileIslandMediaValidator, and built-in-presets.json.

xcodebuild -project FileIsland.xcodeproj \
  -scheme FileIslandCLI \
  -destination 'platform=macOS' \
  -derivedDataPath .build/DerivedData \
  CODE_SIGNING_ALLOWED=NO \
  build

Always query the machine-readable capabilities before generating a call:

.build/DerivedData/Build/Products/Debug/fileisland capabilities --json

Convert a heterogeneous folder:

.build/DerivedData/Build/Products/Debug/fileisland convert \
  '/path/input folder' --recursive \
  --output '/path/output folder' \
  --image-format jpeg --image-max-dimension 2048 --strip-metadata \
  --video-resolution 1080p \
  --audio-format m4a --audio-quality balanced --strip-audio-metadata \
  --json

Split an eligible video at safe keyframes without re-encoding:

.build/DerivedData/Build/Products/Debug/fileisland split \
  '/path/movie.mp4' \
  --output '/path/output folder' \
  --max-duration-seconds 300 \
  --mode fast-keyframe-copy \
  --json

The CLI uses the caller's filesystem permissions and does not reuse the app's saved output-folder bookmark. Sources are never overwritten. Exit codes and exact options are reported by --help and capabilities --json.

Privacy, licensing, and feedback

File Island is source-available, not open source. Original code, branding, and assets are All Rights Reserved under LICENSE. Bundled FFmpeg remains independently available under LGPL-2.1-or-later.

Use GitHub Issues for ordinary bug reports. Report unresolved security issues privately as described in SECURITY.md, and do not attach private media to public issues.

About

Local-first macOS media converter for images, video, audio, mixed folders, and fast sharing splits — right from the notch.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages