Use an external USB drive across Windows and Mac OSX: exFAT, NTFS, HFS+

Since the beginning of time, Macs and PCs (IBM-compatible / Intel-chip / Microsoft DOS or Windows OS) used the same or similar hardware, including for external storage, but had differences in software which made sharing of hardware between them incompatible. Even as each operating system (from Mac OS up to OSX, DOS to Windows 3.1 to Windows NT) upgraded and used new disk formats, they remained different and incompatible. Other OSs like Linux and the BSDs had their own quirks, although they also sought to be able to work with DOS disks from the beginning, and can mount disks from other systems using drivers.

How to read a Mac drive in Windows

Today, in a world where all machines need to be interconnected through the Internet, we still have problems with Macs reading Windows disks and vice versa. Mac OSX computers use HFS+ as its disk format while Windows today will generally use NTFS. OSX now has some support for reading NTFS formatted drives, but the support is read-only and incomplete. Not all NTFS disks will be mountable in OSX, at least with the native NTFS support.

Native support for the other filesystem type

Windows has no native support for HFS+. The only way to read an HFS+ disk is with 3rd party software. So you won't be able to mount a Mac drive and use it normally in Windows (without buying software which we'll get to). But you can use software like the free HFSExplorer to open your drive and view folders and copy files to your Windows drive. You might have problems with filenames and some files might be corrupt. This is not a perfect solution, and I don't recommend using it to copy an entire Mac drive over, but the software is open source and free and is a good triaging tool if you just need to access some specific files right now. You'll want to verify (take md5sums) that it's a true copy though, meaning you'll need to check the file again in OSX. You'll also lose file metadata, if you have a lot of files and that's a concern for you.

You can also trial or buy software company Paragon's product "HFS+ for Windows" which lets you mount the Mac disk in Windows and then both read and write to your HFS+ drive. Paragon also makes a driver "NTFS for Mac" to mount a Windows NTFS disk on your Mac.

Besides Paragon, the other main commercial software is Mediafour's MacDrive.

How to read a Windows drive on OSX

Your Mac may be able to see your NTFS-formatted drive automatically, but not write to it. If you don't see it, you can also try 3rd party software. Mentioned above, Paragon is one commercial software provider with a driver to mount NTFS drives as both read and write. Tuxera NTFS for Mac is another commercial product (free trial, then 25 EUR).

There's also a free way to mount NTFS as read-write. You need something to add a FUSE layer to OSX, like OSXFuse which replaces MacFuse, which gives user software the ability to mount 3rd party filesystems when you also provid a Fuse driver for that filesystem. Once you have Fuse, you can install NTFS-3G (which itself was developed by Tuxera mentioned above). The commercial Tuxera NTFS is supposed to be much faster than the free one.

Format your new drives to be readable on both OSX and Windows

The conventional wisdom is that you should format your external drives as exFAT if you want to connect them to both OSX and Windows computers. ExFAT is a relatively newer filesystem owned and controlled by Microsoft, therefore requiring a license for other companies to use and not free. But Windows (Vista Service Pack 1 and later) and OSX support exFAT for both reading and writing, and can create volumes formatted as exFAT.

But exFAT has its own issues with compatibility. Format the disk first on OSX and you may not be able to read it on Windows! Either format it from Windows or check it in Windows after formatting before using.

ExFAT also suffers from problems unmounting on OSX. ExFAT isn't a journaled filesystem and thus doesn't manage crashing or sudden unmounts well, which can allow file corruption. And each time the disk is suddenly removed (as is often the case with external USB disks) you'll have to fsck the drive again next time. This can take considerable time (an hour) before you can read your external drive in OSX again. During that time you'll see fsck_exfat running. You can run it manually from the terminal: sudo /System/Library/Filesystems/exfat.fs/Contents/Resources/./fsck_exfat -y /dev/rdisk2s2 (you may need to replace the /dev/). You can also fix a "dirty" exFAT disk in Windows then reconnect it to OSX.

ExFAT doesn't support sparse files which can mean it will take up much more space if storing certain kinds of files on it. ExFAT also doesn't support hard links. This makes exFAT unsuitable for certain backup software which save copies of files not as full copies but as hard links.

You won't be able to use your exFAT formatted external disk as a OSX Time Machine backup destination without some hackery.

Before exFAT, removable USB disks were usually formatted as regular old FAT. FAT32 formatting is still an option from both OSX and Windows. The main problem with FAT32 is the maximum filesize of 4 GB, which can be too small for large video files. However, if large files aren't a concern then formatting your drive as FAT is an option, which would get around the problem of incompatibility of exFAT formatting on OSX.