iina /iina

The modern video player for macOS.

★ 47,072⑂ 2,988👁 527⑃ 1,667● 4,653▤ 55◈ 205
SwiftGPL-3.0Created 2016-12-19iina.io
47,072
stars
+10
2,988
forks
527
watchers
1,667
prs
4,653
issues
55
releases
205
discussions

README

IINA

IINA is the modern video player for macOS.


Website ·
Releases ·
Telegram Group


---

 Features

 Based on mpv, which provides the best decoding capacity on macOS
 Designed with modern versions of macOS (11.0+) in mind
 All the features you need for video and music: subtitles, playlists, chapters…and much, much more!
 Force Touch, picture-in-picture and advanced Touch Bar support
 Customizable user interface including multiple color schemes and on screen controller (OSC) layout positioning
 Standalone Music Mode designed for audio files
 Video thumbnails
 Online subtitle searching and intelligent local subtitle matching
 Unlimited playback history
 Convenient and interactive settings for video/audio filters
 Fully customizable keyboard, mouse, trackpad, and gesture controls
 mpv configuration files and script system for advanced users
 Command line tool and browser extensions provided
 In active development

 Downloading

You can get IINA through several sources. For the latest stable and beta releases, visit the GitHub release page or the IINA official website. If you want to try out the latest features and improvements before they are officially released, you can download the nightly builds from our Nightly Download Page.

 [!IMPORTANT]
 Nightly builds are generated by GitHub automatically for every commits, which might be buggy and unusable. If you find a bug, please follow the contributing section and file an issue.

 Building

IINA uses mpv for media playback. To build IINA, you can either fetch copies of these libraries we have already built (using the instructions below) or build them yourself by skipping to these instructions.

 Using the pre-compiled libraries

1. Download pre-compiled libraries by running

console
./other/download_libs.sh


 [!TIP]
 - By default the shell script downloads universal binaries. You can download arch-specific binaries using --arch  (universal, arm64 or x86_64)
 - Files are downloaded in parallel (5 concurrent downloads by default). You can change this using --parallel  (from 1 to...)
 - If you want to build an older IINA version you must change DYLIBS_DOWNLOAD_PATH in the script to download the corresponding dylibs. For example, https://iina.io/dylibs/1.2.0/universal/fileList.txt.

2. Open iina.xcodeproj in the latest public version of Xcode. IINA may not build if you use any other version.

3. Build the project.

 Building mpv manually

1. Build your own copy of mpv. You can use our official build scripts to build mpv and all other dependencies.

2. Run other/parse_doc.rb. This script will fetch the latest mpv documentation and generate MPVOption.swift, MPVCommand.swift and MPVProperty.swift. Copy them from other/ to iina/, replacing the current files. This is only needed when updating libmpv. Note that if the API changes, the player source code may also need to be changed.

3. Link the yt-dlp dependency to deps/executable

   console
   mkdir -p deps/executable
   ln -s $(which yt-dlp) deps/execut

Top issues

Discussions

Latest release

IINA 1.5.1 v1.5.1 2026-11-06
IINA 1.5.1 fixes several important issues in 1.5.0 and improves the overall user experience.

 Bug fixes  
- Fixed an issue where the player window is taller than expected.  
- Fixed an issue where thumbnails try to show frame outside of video duration 6423.  
- Fixed an issue where IINA doesn’t quit if using legacy full screen 6424.  
- Fixed incorrect OSC size when using “Reduced Motion” 6440.  
- Fixed quick setting controls not updated correctly 6455.  
- Fixed Clear Playback History doesn’t work.  
- Fixed wrong play slider orientation for RTL languages 6504.  
- Fixed permissio

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON