IINA is a modern video player for macOS based on mpv, which provides the best decoding capacity on macOS. This is the best video player you can install on macOS and use it as a default player for all Video media files. IINA is designed with modern versions of macOS (10.11+) to guarantee stability and compatibility with all Mac machines. All the features you need for video and music, like playlists, subtitles, chapter and many others are provided in IINA video player.

Some of the cool features shipped with IINA video player are:

  • 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

Install IINA Video player for macOS

We can now look at the methods of installing IINA Video player on macOS. One is by downloading a .dmg package and installing from it. Or going the manual way of building IINA Video player manually on your macOS system.

Install with binary package (The easy way)

For the binary installation method, head over to Downloads page and pull the latest package.

For terminal installation you can use wget or curl command to download .dmg file.

cd ~/Downloads
wget https://dl-portal.iina.io/IINA.v1.0.7.dmg

Once the file is downloaded open it to initiate an installation of IINA Video Player on macOS:

open IINA.v1.0.7.dmg

Application installation window will be opened for you to complete installation.

install IINA video player macos 01

Drag the application to the “Applications” folder.

install IINA video player macos 02

The application is then ready for use. You can find it in Spotlight Search.

install IINA video player macos 03

The same installation can be done via Homebrew cask.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew cask install iina

Browser extensions

You can open various online media in IINA directly from web browsers by using our browser extensions.

The Safari App Extension is already included in the IINA App bundle, and you may only need to enable it in Safari Preferences. Extensions for other browsers could be downloaded below.

Nightly builds

Manual Installation (The Hard way)

You should have CocoaPods installed in your macOS system before you can download IINA video player. Run the following commands in your macOS terminal to install CocoaPods on macOS.

$  brew install cocoapods
==> Downloading https://homebrew.bintray.com/bottles/cocoapods-1.9.3.catalina.bottle.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/70f8c793bb60631422db028bbebb64ba9fcc1085a216abe5e625357380e06d46?response-content-disposition=attachmen
######################################################################## 100.0%
==> Pouring cocoapods-1.9.3.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/cocoapods/1.9.3: 12,523 files, 28.3MB

If brew command line tool is not available, install it with the following commands:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Installation of CocoaPods can also be done with RubyGems.

$ sudo gem install cocoapods

Once CocoaPods is installed, download project source code from Github:

$ git clone https://github.com/iina/iina.git
Cloning into 'iina'...
remote: Enumerating objects: 287, done.
remote: Counting objects: 100% (287/287), done.
remote: Compressing objects: 100% (114/114), done.
remote: Total 23990 (delta 183), reused 265 (delta 173), pack-reused 23703
Receiving objects: 100% (23990/23990), 232.13 MiB | 3.50 MiB/s, done.
Resolving deltas: 100% (18541/18541), done.

Navigate to the project’s root directory:

cd iina

Run the command

pod install

This is my dependencies installation output:

Analyzing dependencies
Pre-downloading: `GRMustache.swift` from `https://github.com/iina/GRMustache.swift`, commit `a46e65d00b4753449b90465be813bbdb1a9ffc9d`
Pre-downloading: `Just` from `https://github.com/iina/Just`, commit `d0ae3f9bc2d6bf247b19217764a096bbac55f007`
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`

CocoaPods 1.10.0.rc.1 is available.
To update use: `gem install cocoapods --pre`
[!] This is a test version we'd love you to try.

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.10.0.rc.1

Downloading dependencies
Installing GRMustache.swift (2.0.0)
Installing GzipSwift (5.0.0)
Installing Just (0.7.1)
Installing PromiseKit (6.8.4)
Installing Sparkle (1.22.0)
Generating Pods project
Integrating client project
Pod installation complete! There are 5 dependencies from the Podfile and 5 total pods installed.

Use the tap as it passes in the correct flags to mpv’s configure script:

brew tap iina/homebrew-mpv-iina
brew install mpv-iina

Copy the latest header files from mpv (*.h) into deps/include/mpv/.

wget -O deps/include/mpv/client.h https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/client.h
wget -O deps/include/mpv/mpv.def https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/mpv.def
wget -O deps/include/mpv/mpv.pc.in https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/mpv.pc.in
wget -O deps/include/mpv/opengl_cb.h https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/opengl_cb.h
wget -O deps/include/mpv/render.h https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/render.h
wget -O deps/include/mpv/render_gl.h https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/render_gl.h
wget -O deps/include/mpv/stream_cb.h https://raw.githubusercontent.com/mpv-player/mpv/master/libmpv/stream_cb.h

Run below script to fetch the latest mpv documentation and generate MPVOption.swift, MPVCommand.swift and MPVProperty.swift:


Run the script to deploy the dependent libraries into deps/lib:

other/change_lib_dependencies.rb "$(brew --prefix)" "$(brew --prefix mpv-iina)/lib/libmpv.dylib"


  • Open iina.xcworkspace in the latest public version of XcodeIINA may not build if you use any other version
  • Remove all of references to .dylib files from the Frameworks group in the sidebar and drag all the .dylib files in deps/lib to that group.
  • Drag all the .dylib files in deps/lib into the “Embedded Binaries” section of the iina target.
  • Build the project.

Enjoy playing your Video content with IINA video player on macOS.

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here