MKVToolNix v100 released
2026-07-05 — mosu
Heyo!
It’s happening, v100 is here. Yay! It contains nothing overly drastic, but it’s still a nice assortment of enhancements & bug fixes for users of all OS.
A big thanks to all the contributors over the years, but especially for the people who have contributed over the last three months. This yielded continued macOS builds and several bug fixes that I hadn’t gotten around to tackling myself.
can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 100.0 “Do Hot Girls Like Chords” 2026-07-05
New features and enhancements
- all: added new scalable (SVG) application icons for all applications, replacing the existing pixmap (PNG, ICO) icons. Icons from Sarreq Teryx. Implements #6253.
- mkvmerge: MP4 reader: track names are now read from the track’s user-data atoms (
trak→udta→name) if present. Implements #6274. - MKVToolNix GUI: executing actions configuration, type “play audio file”: added a slider to make configuration more intuitive. Implemented by #6267.
- MKVToolNix GUI: executing actions: macOS only: the GUI will now use bundled audio files for “play audio file” actions that Qt can play instead of using macOS’s system sounds. Implemented by #6268. Fixes #6264.
- MKVToolNix GUI: executing actions: Windows only: added a new type: executing a PowerShell script. Either an existing script file can be selected or custom PowerShell script code entered in a small editor. The executed script has access to all
MTX_…variables through the environment, e.g.$env:MTX_DESTINATION_FILE_BASE_NAME. Workaround for the problems talked about in #6254. - MKVToolNix GUI: job queue: added a context menu for opening copies of the selected queue jobs in the multiplexer as new settings there without removing the queue jobs. Implements #6255.
- MKVToolNix GUI: job queue: added a search functionality for jobs that searches in job descriptions, outputs, warnings & errors. Implements #6256.
Bug fixes
- command-line tools: Windows: switched to Boost’s UTF-8 code-conversion facet (
boost::locale::utf8_codecvt) fromstd::utf8_codecvtincluded in MingW. This seems to fix an issue with converting certain high code point fromwchar_ttochar(from UTF-32/16 to UTF-8), preventing interesting exceptions from being thrown. Fixes #6257. - mkvmerge: AAC: fixed mis-detection of ADTS streams not starting on a frame boundary. Fixes regression starting with v87 when fixing AAC LATM config not being parsed if it wasn’t present in the first AAC frame. Patch by Corticalcode. Fixes #6196.
- mkvmerge: MPEG TS reader: under certain rare conditions mkvmerge was skipping a certain amount of content at the start of the main M2TS file when reading MPLS playlists. The amount of content skipped proportional to the probe range percentage. This only happened when the source Blu-ray contains HDMV TextST subtitles. Fixes #6269.
- MKVToolNix GUI: executing actions configuration, type “play audio file”: fixed audio volume not working since switching to Qt 6 due to its interface taking a
floatin range0.0–1.0instead of the old interface taking anintin range0–100. Implemented by #6267. Fixes #6266. - MKVToolNix GUI: executing actions: fix backslash handling when parsing a Unix-shell escaped string into separate arguments. The user-visible fix is that the command-line in the “executing actions” dialog will not have the quoting changed in wrong ways by the GUI when the GUI adds another variable upon user request, a regression introduced in v99. Fixes #6253.
Build system changes
- all: when building for Windows the programs ImageMagick (executable
magick) & Inkscape (executableinkscape) are required in order to build ICOs from SVGs. - macOS: include the app’s supported platform(s) in
Info.plistto correctly resolve the app’s Kind as Apple Silicon in System Information. Detected during discussion of #6260. - macOS: updated Qt to 6.11.1. The patch that made building Qt from source possible on macOS 26.4 (by Touchstone64) has been removed as Qt 6.11.1 includes the fix upstream. See #6276.
Have fun yall! 💖🎉
MKVToolNix v99.0 released
2026-05-24 — mosu
Heyo everyone.
Here’s MKVToolNix v99. There are a couple of bug fixes & improvements in the GUI & in mkvmerge among with a huge amount of fixes/changes/improvements to the macOS build system. Yes, that’s right, macOS binaries are back.
Thanks to the huge amount of work by two community members, corticalcode & touchstone64 (Graham Thompson), we will once again provide macOS binaries (DMGs) for releases v98 (already available for download) and newer (such as this one, v99). Both have improved the macOS build system significantly, implemented building ARM binaries in addition to Intel binaries (this includes a Universal DMG) and fixing bugs they come across while doing so. I’m very grateful for their work, and the MKVToolNix community as a whole is better off.
The macOS DMGs I’ll host on the project’s home page will be built by aforementioned Graham Thompson, not by me. They’re signed & all the good stuff. You can find details about the certificate used on the authenticity page.
You can download the source code or one of the packages. The Windows packages as well as the Linux AppImage are available already. The other Linux packages & the macOS disk image are still being built and will be available over the course of the next couple of hours.
Here are the NEWS since the previous release:
Version 99.0 “Buka” 2026-05-24
New features and enhancements
- MKVToolNix GUI: the GUI will now remember the last used directory for selecting audio files for playback in “play audio file” program runners separately from any other “open file”-type situations. This directory will also default to
/System/Library/Soundson macOS now. Implemented by #6213. - MKVToolNix GUI: executing actions → running programs: added new variables:
MTX_DESTINATION_FILE_BASE_NAME(the name without the drive letter, path or the suffix; e.b./movies/A.new.hope.mkv→A.new.hope) andMTX_DESTINATION_FILE_SUFFIX(only the letters after the last., e.g./movies/A.new.hope.mkv→mkv). Added examples to all the destination file variables in the popup menu when adding variables in the preferences. Implements parts of #6220. - MKVToolNix GUI: executing actions → running programs: the command-line input widget will now receive focus again after using the popup menu for adding a variable. Implements parts of #6220.
- MKVToolNix GUI: executing actions → running programs: the variables will now also be set as environment variables when running a program after a job completes.
- MKVToolNix GUI: executing actions → running programs: when using the “Execute now” button for testing the
MTX_…variables will be set to the current multiplexer tab’s values for easier testing. Implements parts of #6220.
Bug fixes
- mkvmerge: if using legacy font MIME types is off mkvmerge will now remap legacy font MIME types present in source files into the current ones. Patch by corticalcode via #6249.
- mkvmerge, mkvpropedit, MKVToolNix GUI’s multiplexer & header editor: on Windows & macOS the MIME type detection will now use the FreeDesktop.org MIME database instead of falling back to file extension-based guesses. This matches how it works on other operating systems. This fixes e.g. OpenType fonts being detected as the legacy type
application/vnd.ms-opentypeinstead of the current IETF RFC,font/otf, no matter what the “use legacy font MIME types” settings in the preferences was set to. Fixes #6240 for Windows; fixes #6248 for macOS. Implemented by corticalcode for macOS in #6250. - MKVToolNix GUI: update checker: fixed a potential attempt to read from an invalid memory address if an error occurred when parsing the XML file retrieved from the official MKVToolNix server.
- macOS: GUI: the default audio file for program runners of type “play audio file” has been changed to an AIFF file as Qt’s Multimedia backend routes through Core Audio which doesn’t support WebM/VP8/Vorbis/Opus. Existing configurations will be updated if they point to the prior default WebM audio file. Fixes #6209.
Build system changes
- macOS:
build.sh: the Qt installation is now done viacmake --installinstead of using classicmakeas the classic Makefiles produced by Qt’s build system are incomplete. Patch by corticalcode. Fixes #6205. - macOS:
build.sh: the binaries in the DMG are now stripped of debug symbols. Patch by corticalcode. Fixes #6206. - macOS:
build.sh: enabled release build optimizations for dependencies. Patch by corticalcode. Fixes #6207. - macOS:
build.sh: disabled use ofpkg-configfor Qt to prevent linking against installed non-OS libraries such as from Homebrew. Patch by corticalcode. Fixes #6208. - macOS: added support for notarization of a macOS disk image by an Apple developer account. Implementation of #6212 by Touchstone64.
- macOS: patch added to make building Qt 6.11 from source possible on macOS 26.4. Patch by Touchstone64.
- macOS: additions to DMG package naming including the machine type it targets (arm64 or x86_64) and a revision number (to support re-packaging of an existing MKVToolnix release). For example, MKVToolNix-98.0-1-arm64.dmg would represent the first revision of a DMG package for an Apple Silicon Mac, containing MKVToolNix release 98.0. Implementation by Touchstone64.
- macOS: the packaging process now verifies the MKVToolNix source release using the author’s GPG key before packaging. Implementation by Touchstone64.
- macOS: the app bundle name has been standardised by removing the version number, so DMG packages will contain ‘MKVToolNix.app’. Implementation by Touchstone64.
- macOS: Qt is now built without printing support, reducing the size of the resulting DMG slightly. Implementation by Corticalcode. Implements #6230.
Have fun 😁
MKVToolNix on macOS discontinued
2026-04-06 — mosu
Even though I’ve just released v98.0 & written about dropping macOS support in the second half of 2026 (like before), this was before I realized that my macOS build environment is currently completely broken. I’ve unsuccessfully tried to fix it for several hours yesterday, and have been seriously considering giving up for good & letting the previous release be the last one for which I provided macOS builds.
After sleeping over it this is indeed my decision: I will no longer provide macOS binaries starting with yesterday’s release, v98.0.
I’m sorry for the shortened timeline. This was obviously not the plan.
Older posts