What is the best, easiest, preferably cheapest way to make OS X write to NTFS-formatted drives in Mac OS X?
8 Answers
Updated at May 2015, with current solutions.
Free solutions
FUSE for OS X - Successor to MacFUSE
NTFS-3G
Requires a build from source for anything newer than 2010. Last "pre-built" version linked from NTFS-3G for Mac OS X 2010.10.2. You can build it from source using homebrew in the other answers.
Paid solutions
MacFuse is abandonware and hasn't been updated since 2009.
-
3Fuse for OS X and NTFS-3G must be installed together. Full installation is tricky on El Capitan: See my answer apple.stackexchange.com/a/213575/62697– CœurCommented Oct 30, 2015 at 23:26
-
3I'm sorry, but this is nearly a link-only answer, so I've downvoted it. Currently both apple.stackexchange.com/questions/106589/… and apple.stackexchange.com/questions/152661/… are marked as a duplicate of this question, but unfortunately this (currently accepted) answer is not the highest quality in my opinion. Commented Mar 27, 2018 at 15:24
-
MacFuse doesn't seem to be abandonware. It's being maintained Commented Sep 27, 2021 at 7:27
-
Newer macOS
This answer is for latest compatibility for macOS 13 Ventura and macOS 14 Sonoma.
Install macFUSE with Homebrew as follow:
brew install macfuse
Install NTFS-3G with Homebrew as follow:
brew tap gromgit/homebrew-fuse brew install ntfs-3g-mac
Auto-mount NTFS volumes in read-write mode:
Link NTFS-3G to boot after temporary disabling System Integrity Protection, as follow:
* [reboot by holding <kbd>CMD</kbd>+<kbd>R</kbd> to get in recovery mode]
csrutil disable
* [reboot normally]
sudo mount -uw /
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs
* [reboot by holding <kbd>CMD</kbd>+<kbd>R</kbd> to get in recovery mode]
csrutil enable
* [reboot normally]
You will need to re-link manually (step 3) each year when you upgrade macOS (10.11 → 10.12 → 10.13 → 10.14 → 10.15 → 11 → 12 → 13 → 14 ...)
See also the following wiki page which is the installation documentation: https://github.com/osxfuse/osxfuse/wiki/NTFS-3G
Older macOS and troubleshooting
This answer is for compatibility for OS X 10.11 El Capitan, macOS 10.12 Sierra, macOS 10.13 High Sierra, macOS 10.14 Mojave.
It needs an update for Apple Silicon and Monterey and Big Sur and Catalina so proceed with caution
Install osxfuse (3.x.x) from GitHub. Or install it with Homebrew as follow:
brew install --cask osxfuse
Install NTFS-3G with Homebrew as follow:
brew install ntfs-3g
Proceed to step 3 in "Newer macOS" answer above.
Additional steps if solution does not work:
try to install ntfs-3g again
brew install ntfs-3g
it warns that it installed but not linked, try to link again:
brew link ntfs-3g
it fails and prints dry-run command which will show files to remove:
brew link --overwrite --dry-run ntfs-3g
remove these files with sudo ('Would remove:' is for English console)
brew link --overwrite --dry-run ntfs-3g | grep -vF 'Would remove:' | awk '{print $1}' | xargs sudo rm
try to link again and get permission error on creation /usr/local/share/doc/ntfs-3g. brew prevents running with sudo so prepare directory for README:
sudo mkdir /usr/local/share/doc/ntfs-3g sudo chmod a+w /usr/local/share/doc/ntfs-3g
run
brew link
again... success.reboot your Mac and allow system extension to load in System Preferences as error box suggests.
-
For linking issue with homebrew, maybe try stackoverflow.com/questions/29422345/installed-just-not-linked ; also, try brew uninstall ntfs-3g.– CœurCommented Dec 23, 2015 at 14:04
-
2Those who don't want to link it during startup and just wanna give it a go, you can try this. "After installing NTFS-3G you can manually mount NTFS volumes in read-write mode by executing the following commands in Terminal. Replace /dev/disk1s1 with the actual NTFS partition you want to mount. You can find the partition name using diskutil list. sudo mkdir /Volumes/NTFS sudo /usr/local/bin/ntfs-3g /dev/disk1s1 /Volumes/NTFS -olocal -oallow_other" From github.com/osxfuse/osxfuse/wiki/NTFS-3G Commented Feb 5, 2018 at 3:47
I tested this on Mountain lion and it is free and you don't need to reboot. It uses OS X's native NTFS drivers.
Plug-in your device
Write in Terminal
diskutil list
and look for IDENTIFIER where TYPE is Windows_NTFS.In this case it is
disk1s1
Then run the following:
diskutil unmount /dev/disk1s1 cd /Volumes mkdir Elements sudo mount -w -t ntfs -o rw,nobrowse /dev/disk1s1 /Volumes/Elements open /Volumes/Elements
-
3I tried this on 10.8.4 and a 10.8 VM, but I couldn't get it to work. I got an error like
Read-only file system
when I for example tried to runmkdir /Volumes/HD-HCU2/aa
. Is there some reason why you usednobrowse
?– LriCommented Jul 27, 2013 at 18:57 -
You are creating the folder on wrong path. You should create the folder under
/Volumes
.– CodlerCommented Jul 28, 2013 at 7:28 -
1
-
5+1, Be aware that this feature is not complete and well-tested. It's not enabled by default for some reason. Worth mentioning that the force-write-enabled driver simply damaged an NTFS volume while I was playing with it.– fardjadCommented Oct 25, 2013 at 21:52
-
3I've added a warning about this method not being safe. This old crappy Apple NTFS driver has been there forever, it's been known forever that it can be forced to be RW, and it's been known forever that it's not stable by any means. Commented Mar 27, 2018 at 15:32
The simplest solution would be to use MacFUSE and NTFS-3G for MacFUSE, though as of this post only Tuxera NTFS ( ~$35 USD) and PARAGON Software NTFS for OS X v.9.0 ($19.95 USD) support 10.7. You can grab the source for free from Tuxera for free, however.
As of OS X 10.6 you can natively enable NTFS support, though your mileage may vary. Follow this writeup by Mac OS X Hints if you're interested but I'd use the MacFUSE method over this one. Keep in mind that neither of these methods are fully supported.
-
1Just to note—I've had some problems with NTFS-3G & Lion lately, which might be because the OS X binary is a bit outdated (2010.10.2 versus 2011.4.12) Commented Aug 8, 2011 at 17:08
-
1Paragon NTFS for Mac v9 IS NOT COMPATIBLE WITH LION. Double-click the package gives "The operation couldn't be completed"– user17657Commented Jan 24, 2012 at 3:42
-
any disadvantages of using Tuxera NTFS for the new macbook pro retina ?– RenderCommented Jul 23, 2012 at 13:29
-
2
Here's how to do a one-time mount using ntfs-3g (coeur's answer but for one time use). This way doesn't require you to boot into safe mode or use csrutil at all.
NB: using ntfs-3g
this way is rumored to be "safer" for write access than the built-in ntfs rw,auto,nobrowse
mount option:
Install latest osxfuse (3.x.x) from https://github.com/osxfuse/osxfuse/releases. Or install it from Homebrew with:
brew cask install osxfuse
Install latest NTFS-3GNTFS-3G from Homebrew (https://brew.sh/Homebrew), as follow:
brew install ntfs-3g
One time mount (replace disk1s1 with your values, discoverable by running a mount
command after inserting the disk, you'll see a line like
/dev/disk1s1 on /Volumes/SomeNtfsDrive (ntfs, local, nodev, nosuid, read-only, noowners
) grab the disk1s1
:
diskutil unmount /dev/disk1s1
sudo mkdir /Volumes/my_writable_ntfs
sudo /usr/local/bin/ntfs-3g /dev/disk1s1 /Volumes/my_writable_ntfs -olocal -oallow_other
You'll get a popup "system extension blocked" click "Open Security Preferences" and click "Allow" next to the developer name (Benjamin Fleischer). If you can't click the allow button, see here.
Run the command again after clicking allow. It'll be good until you reboot. or manually dismount it.
For more details and instructions on making it permanent, see https://github.com/osxfuse/osxfuse/wiki/NTFS-3G
-
1I come up with this utility that automate the instructions github.com/rodfersou/osx-ntfs-rw Commented Feb 10, 2022 at 2:55
Can't say that using MacFUSE and NTFS-3G for MacFUSE is the easiest way, but they are free and that's great!:) I've used them for about a year until bought 500GB external Seagate HDD and got Paragon NTFS for Mac driver for free from Seagate site: http://www.seagate.com/support/downloads/item/ntfs-driver-for-mac-os-master-dl/. Works stable for a month, no problems happened yet. Anybody knows, will users of Seagate HDDs get free NTFS driver upgrade for new OS X when Apple will release it?
-
4does the seagate version of paragon 14 work for drives other than seagate?– malhalCommented Dec 30, 2015 at 15:45
Before we start. Make sure your external name label is ONE word. That means there is no space in between.
my disk = WRONG
my_disk or my-disk or mydisk = CORRECT
Now
- Open Terminal [Command+Space+"terminal"]
- Type:
sudo nano /etc/fstab
- In nano, type:
LABEL=my_disk none ntfs rw,auto,nobrowse
Note: my_disk is your disk name - To save and exit Control+X and Enter and Enter
- [optional] For ease of access, we create a sym-link to desktop: In terminal ->
sudo ln -s /Volumes ~/Desktop/Volumes
Later
When you don't need it anymore. It is as simple as:
In terminal sudo rm /etc/fstab
-
5Removing
/etc/fstab
is only an option if it doesn't contain any other important entries– nohillside ♦Commented Jul 11, 2014 at 5:03 -
2@AFwcxx, The Label can contain spaces, you just have to substitute
\040
for the ' ' (space). See example inman fstab
:LABEL=The\040Volume\040Name\040Is\040This none msdos ro
Commented Nov 10, 2015 at 15:03 -
This and osxdaily.com/2013/10/02/enable-ntfs-write-support-mac-os-x helped me a lot. All I had to do was unmount my drive, edit the fstab file, create a sym-link and that's it. Thanks a lot!– WhatHiFiCommented Feb 4, 2018 at 10:16
This answer is for macOS BigSur:
The big difference with previous answer by Cœur:
we need to turn off cryptographic verification (See Big Sur’s Signed System Volume: added security protection) with csrutil authenticated-root disable
in step 3.2 and bless
to create a snapshot in step 4.
Install macFUSE from macFUSE or
brew --cask install osxfuse
Install ntfs-3g with
brew install gromgit/fuse/ntfs-3g-mac
or try other options to install ntfs-3gDisable SIP(System Integrity Protection)
3.1 Reboot Mac into Recovery Mode by rebooting and holding down Command+R
3.2 Utilities > Terminal:
csrutil disable
(enable it after the whole process)csrutil authenticated-root disable
(It cannot be enabled after updating /sbin/mount_ntfs)3.3 Reboot in normal mode
Update /sbin/mount_ntfs
4.1 Get the root disk by
mount
, if/dev/disk1s5s1 on /
is returned, your root disk is/dev/disk1s5
4.2 update and create snapshot
DISK_PATH=/dev/disk1s5 MOUNT_PATH=~/mount mkdir $MOUNT_PATH sudo mount -o nobrowse -t apfs $DISK_PATH $MOUNT_PATH sudo mv $MOUNT_PATH/sbin/mount_ntfs $MOUNT_PATH/sbin/mount_ntfs.original sudo ln -s /usr/local/sbin/mount_ntfs $MOUNT_PATH/sbin/mount_ntfs sudo bless --folder $MOUNT_PATH/System/Library/CoreServices --bootefi --create-snapshot
Reboot and enable SIP with command:
csrutil enable
Reference: NTFS write in macOS BigSur using osxfuse and ntfs-3g
-
How does this differ from provious answer apple.stackexchange.com/a/213575/237– mmmmmmCommented Sep 6, 2021 at 7:32
-
For macOS BigSur, the big difference is that we need to execute
csrutil authenticated-root disable
andbless
to create a snapshot– PeterCommented Sep 7, 2021 at 9:22 -
In that case please note that BigSur does differ and note the extra bit in the answer– mmmmmmCommented Sep 7, 2021 at 10:06