iina

From public sources

IINA is a modern, open-source video player for macOS built on mpv, offering broad format decoding, subtitles, playlists and customizable controls.

ApplicationCategory: Desktop Apps · Video & media playersOpen sourcedata checked Oct 15, 2026

Overview

Many macOS video players struggle with the wide range of codecs and subtitle formats people encounter, or feel dated next to current system design. IINA is a modern video player for macOS that handles video and music playback on top of mpv, which provides strong decoding capacity on the platform. IINA covers the everyday features you need: subtitles with online search and local matching, playlists, chapters, video thumbnails, unlimited playback history and interactive video and audio filter settings. It supports Force Touch, picture-in-picture and Touch Bar, offers a standalone Music Mode for audio files, and lets you customize the interface, on-screen controller layout and keyboard, mouse, trackpad and gesture controls. It is designed for macOS 11.0 and later and suits general viewers as well as advanced users, who can use mpv configuration files and a script system. A command line tool and browser extensions are included. IINA is licensed under GPL-3.0 and is in active development, with releases available from GitHub and the official website.
  • hacktoberfest
  • macos
  • mpv
  • swift
  • video
  • video-player

Installation

Commands are shown, never run by the marketplace. Check them against the official documentation.

Compatibility

Unknown means no evidence was found — not that the product is incompatible.
PlatformStatusArchitectureEvidenceConfidence
WindowsUnknown———
macOSCompatible—official build in release v1.5.0: IINA.v1.5.0.dmg0.60
LinuxUnknown———

Releases

checked Oct 29, 2026
v1.5.0LatestOct 3, 2026Official source ↗

Files in 1.5.0

The marketplace does not host these files: downloads go to the official source. Files have not been scanned by us.
FilePlatformSizeSHA-256Download from the official source
IINA.v1.5.0.dmgmacos · dmg107.8 MB8fad50479b10…Official source ↗

Release history

Quality profile

algorithm quality-v1.0 · assessed Oct 15, 2026
Quality Score91
Risk Score0
Confidence 1.00
Quality Score and Risk Score are different measures. A high score does not guarantee safety.

Score components

Maintenance · 2020
last activity 1 days ago
Documentation · 1515
README 6902 chars, description present
Ready to use · 156
install instructions: no; releases: yes
Metadata · 1010
4/4 of description, homepage, license, topics
Releases · 1010
10 release(s), latest 13 days ago
Category confidence · 1010
classifier confidence 1
Adoption · 1010
46793 stars (log-dampened, 10k = max)
License clarity · 55
SPDX GPL-3.0
Community · 55
issues enabled, 2954 forks

License

GPL-3.0
Known licensefrom the repository host

This is the catalog policy status, not legal advice.

Sources

github.com/iina/iinaPrimary★ 46,793 starslast activity Oct 15, 2026Primary repository · Confidence 1.00

Reviews

Sign in to write a review

No reviews yet.

Alternatives

README

From iina/iina · license GPL-3.0 · fetched Oct 29, 2026

[Crowdin]

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
./other/download_libs.sh

[!TIP]

  • By default the shell script downloads universal binaries. You can download arch-specific binaries using --arch <ARCH> (universal, arm64 or x86_64)
  • Files are downloaded in parallel (5 concurrent downloads by default). You can change this using --parallel <N> (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.
  1. Open iina.xcodeproj in the latest public version of Xcode. IINA may not build if you use any other version.

  2. 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

    mkdir -p deps/executable
    ln -s $(which yt-dlp) deps/executable/youtube-dl
    
  4. Open iina.xcodeproj in the latest public version of Xcode. IINA may not build if you use any other version.

  5. Remove all references to .dylib files from the Frameworks group in the sidebar and add all the .dylib files in deps/lib to that group by clicking "Add Files to iina..." in the context menu.

  6. Add all the imported .dylib files into the "Copy Dylibs" phase under "Build Phases" tab of the iina target.

  7. Make sure the necessary .dylib files are present in the "Link Binary With Libraries" phase under "Build Phases". Xcode should have already added all dylibs under this section.

  8. Build the project.

Contributing

IINA is always looking for contributions, whether it's through bug reports, code, or new translations.

  • If you find a bug in IINA, or would like to suggest a new feature or enhancement, it'd be nice if you could search your problem first; while we don't mind duplicates, keeping issues unique helps us save time and consolidates effort. If you can't find your issue, feel free to file a new one.

  • If you're looking to contribute code, please read CONTRIBUTING.md — it has information on IINA's process for handling contributions, and tips on how the code is structured to make your work easier.

  • If you'd like to translate IINA to your language, please visit IINA's instance of Crowdin. You can create an account for free and start translating. Please do not send a pull request to this repo directly, Crowdin will automatically sync new translations with our repo. If you want to translate IINA into a new language that is currently not on the list, feel free to open an issue.

IINA Plugins List

Official Plugins

  • Online Media (iina/plugin-online-media) - Enhances online streaming and downloading.
  • OpenSubtitles (iina/plugin-opensub) - Search and download subtitles.
  • User Scripts (iina/plugin-userscript) - Run custom JavaScript snippets.

Community Plugins

Community plugins can be browsed and installed directly from the plugin store in IINA's Settings → Plugins. The list is maintained in plugins.json.

💡 Want to list your plugin?

Open a pull request that adds an entry to plugins.json, keeping the list sorted alphabetically by name:

{
  "name": "My Plugin",
  "url": "https://github.com/username/iina-my-plugin",
  "desc": "A short, one-sentence description of what the plugin does.",
  "id": "com.username.my-plugin"
}

id must match the identifier in your plugin's Info.json. Once merged, your plugin will show up in the in-app plugin store.

Looking to build one? Check out the plugin documentation to learn how they work.

Open the repository ↗