69

What is the best, easiest, preferably cheapest way to make OS X write to NTFS-formatted drives in Mac OS X?

1

8 Answers 8

37

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

Paragon NTFS

Tuxera NTFS


MacFuse is abandonware and hasn't been updated since 2009.

4
34

Newer macOS

This answer is for latest compatibility for macOS 13 Ventura and macOS 14 Sonoma.

  1. Install macFUSE with Homebrew as follow:

    brew install macfuse
    
  2. Install NTFS-3G with Homebrew as follow:

    brew tap gromgit/homebrew-fuse
    brew install ntfs-3g-mac
    
  3. 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

  1. Install osxfuse (3.x.x) from GitHub. Or install it with Homebrew as follow:

    brew install --cask osxfuse
    
  2. Install NTFS-3G with Homebrew as follow:

    brew install ntfs-3g
    
  3. 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.

2
  • For linking issue with homebrew, maybe try stackoverflow.com/questions/29422345/installed-just-not-linked ; also, try brew uninstall ntfs-3g.
    – Cœur
    Commented Dec 23, 2015 at 14:04
  • 2
    Those 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
18

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.

  1. Plug-in your device

  2. Write in Terminal diskutil list and look for IDENTIFIER where TYPE is Windows_NTFS.

    In this case it is disk1s1

  3. 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
    
8
  • 3
    I 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 run mkdir /Volumes/HD-HCU2/aa. Is there some reason why you used nobrowse?
    – Lri
    Commented Jul 27, 2013 at 18:57
  • You are creating the folder on wrong path. You should create the folder under /Volumes.
    – Codler
    Commented Jul 28, 2013 at 7:28
  • 1
    nobrowse are needed to make ntfs writable.
    – Codler
    Commented Jul 28, 2013 at 7:32
  • 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.
    – fardjad
    Commented Oct 25, 2013 at 21:52
  • 3
    I'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.
    – cubuspl42
    Commented Mar 27, 2018 at 15:32
8

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.

4
  • 1
    Just 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
  • 1
    Paragon NTFS for Mac v9 IS NOT COMPATIBLE WITH LION. Double-click the package gives "The operation couldn't be completed"
    – user17657
    Commented Jan 24, 2012 at 3:42
  • any disadvantages of using Tuxera NTFS for the new macbook pro retina ?
    – Render
    Commented Jul 23, 2012 at 13:29
  • 2
    MacFUSE got replaced by FUSE for OS X
    – Cœur
    Commented Oct 29, 2015 at 16:03
7

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

1
6

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?

1
  • 4
    does the seagate version of paragon 14 work for drives other than seagate?
    – malhal
    Commented Dec 30, 2015 at 15:45
5

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

  1. Open Terminal [Command+Space+"terminal"]
  2. Type: sudo nano /etc/fstab
  3. In nano, type: LABEL=my_disk none ntfs rw,auto,nobrowse Note: my_disk is your disk name
  4. To save and exit Control+X and Enter and Enter
  5. [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

3
  • 5
    Removing /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 in man 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!
    – WhatHiFi
    Commented Feb 4, 2018 at 10:16
1

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.

  1. Install macFUSE from macFUSE or brew --cask install osxfuse

  2. Install ntfs-3g with brew install gromgit/fuse/ntfs-3g-mac or try other options to install ntfs-3g

  3. Disable 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

  4. 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
    
  5. Reboot and enable SIP with command: csrutil enable

Reference: NTFS write in macOS BigSur using osxfuse and ntfs-3g

3
  • How does this differ from provious answer apple.stackexchange.com/a/213575/237
    – mmmmmm
    Commented Sep 6, 2021 at 7:32
  • For macOS BigSur, the big difference is that we need to execute csrutil authenticated-root disable and bless to create a snapshot
    – Peter
    Commented Sep 7, 2021 at 9:22
  • In that case please note that BigSur does differ and note the extra bit in the answer
    – mmmmmm
    Commented Sep 7, 2021 at 10:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .