Softwr

Entertainment · head to head

IINA vs Three.js

IINA logo

IINA

Entertainment

Free open source Mac video player built on mpv, with a native macOS interface

From
Free
Rated
-
Three.js logo

Three.js

AR VR

JavaScript 3D library for WebGL and WebXR

From
Free
Rated
-

The short version

  • Each has a real cost: IINA there is no Apple TV or iOS app, so it cannot be used for a living room streaming setup the way Infuse can.; Three.js forward rendering pipeline only, no deferred rendering support
  • They diverge on capability: IINA covers mpv playback engine, Three.js covers WebGL rendering.
  • Prices and features above were last checked on 1 September 2026.

Where they differ

Only the attributes on which IINA and Three.js actually diverge.

Attributes where IINA and Three.js differ
AttributeIINAThree.js
Pricing modelOpen source, no licence feefree
PlatformsMacWeb, macOS, Windows, Linux, iOS, Android
CategoryEntertainmentAR VR
FoundedUnknown2010

Identical on both: starting price (Free), free tier (Yes), user rating (Not yet rated).

What each one covers

Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.

Only in IINA

  • mpv playback engine
  • Native macOS interface
  • Trackpad gestures
  • Picture-in-picture
  • Subtitle and audio track control
  • Music mode

Only in Three.js

  • WebGL rendering
  • Scene graph
  • Materials system
  • Animation system
  • WebXR
  • Post-processing
  • Physics
  • Loaders

What people use each for

The jobs each tool is most often brought in to do.

IINA

  • A Mac user who wants to play locally stored or downloaded video files in formats QuickTime Player does not supportnot Three.js
  • Someone who wants a free player with real trackpad gesture support for seeking and volumenot Three.js
  • A user who wants picture-in-picture video while working in other appsnot Three.js
  • Anyone who prefers a graphical Mac-native player over configuring raw mpv from the command linenot Three.js

Three.js

  • VR Gamingnot IINA
  • AR Marketingnot IINA
  • Virtual Trainingnot IINA
  • 3D Visualizationnot IINA
  • Immersive Experiencesnot IINA

Where each one falls short

Documented limitations, not opinions. Every one is a constraint you would hit in normal use.

IINA

  • There is no Apple TV or iOS app, so it cannot be used for a living room streaming setup the way Infuse can.
  • It has no polished network share or cloud storage library browser, so streaming from a NAS or cloud drive is more manual than with Infuse.
  • As a volunteer open source project, new feature development and bug fixes depend on contributor availability rather than a funded team.
  • It is Mac only, so there is no equivalent app for Windows users in a mixed household.
  • Advanced mpv configuration is still exposed for power users, which can be confusing for someone who just wants simple playback with no options.

Three.js

  • Forward rendering pipeline only, no deferred rendering support
  • No built-in collision detection or spatial indexing, requiring external physics libraries
  • WebGL dependency means no support for non-WebGL environments

Pricing, plan by plan

IINA

Free
  • IINAFree
    • Free and open source
    • No account or subscription
    • Full feature set with no paywall

Three.js

Free
  • FreeFree
    • Full library
    • WebXR module
    • Examples

Which should you pick?

Choose IINA if

  • You need mpv playback engine.
  • You want to start without paying.
  • You work on Mac.
  • You also want native macos interface.

Choose Three.js if

  • You need webgl rendering.
  • You want to start without paying.
  • You work on Web, macOS, Windows, Linux, iOS, Android.
  • You also want scene graph.

Questions people ask

Is IINA or Three.js better?
Neither clearly leads. IINA starts at Free and Three.js at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
Which is cheaper, IINA or Three.js?
IINA starts at Free and Three.js at Free.
Does IINA or Three.js run on more platforms?
IINA runs on Mac. Three.js runs on Web, macOS, Windows, Linux, iOS, Android.
Can I use IINA for free?
Both have a free tier, so you can try either at no cost before committing.
What is IINA best used for?
IINA is most often used for a mac user who wants to play locally stored or downloaded video files in formats quicktime player does not support, someone who wants a free player with real trackpad gesture support for seeking and volume, a user who wants picture-in-picture video while working in other apps, anyone who prefers a graphical mac-native player over configuring raw mpv from the command line. Of those, a mac user who wants to play locally stored or downloaded video files in formats quicktime player does not support and someone who wants a free player with real trackpad gesture support for seeking and volume are not what Three.js is typically brought in for.
What can IINA do that Three.js cannot?
IINA covers mpv playback engine, Native macOS interface, Trackpad gestures, Picture-in-picture. Three.js covers WebGL rendering, Scene graph, Materials system, Animation system.

Answered from the vendors’ own pages

IINA: Is IINA free?

Yes, entirely, and it is open source with no paid tier or subscription.

Three.js: Is Three.js free to use?

Yes. Three.js is released under the MIT license, an open-source license that permits unlimited commercial and personal use with no licensing fees.

Source
IINA: What is the difference between IINA and mpv?

IINA is built on the mpv engine but adds a full native macOS graphical interface, menus and gestures that mpv does not have on its own.

Three.js: Does Three.js include physics simulation?

No. Three.js is a rendering library only. Physics, collision detection, and spatial indexing must be implemented with external libraries like Rapier, Ammo, or JoltPhysics.

Source
IINA: Does IINA work on Apple TV?

No. IINA is Mac only. For Apple TV playback, Infuse is the comparable option.

Three.js: Can I use Three.js for offline development?

Yes. Local development requires a local web server for CORS compliance. You can use npm with a build tool like Vite, or run a local Python server for development.

Source
Three.js: Does Three.js support WebXR for VR/AR?

Yes. Three.js documentation includes WebXR APIs for building VR and AR experiences in web browsers.

Source
Share

Related pages

Other head to heads