Is there an easy way to add, modify, or remove what files or URLs are associated with Apps?

This is an attempt to write a canonical QA for this issue, as per the Meta post: Where is the list of canonical questions stored for Ask Different? I expect it to be periodically edited with the goal of becoming a comprehensive information resource.

How can I change the application that normally opens when I...

  • Open a link or a file

    • Make FTP open with Firefox, Chrome, Opera, etc. instead of Finder
    • Set my default Mail, News or RSS reader
    • Have ssh connections open in iTerm but Telnet open in Terminal
    • Open a music app like Vox (anything but iTunes) for music
    • Open a zip file with WinZip for Mac instead of Finder
    • Do nothing when a file or URL is selected/opened
  • Connect a media device (camera, webcam, CD/DVD, etc.)

    • Prevent Photos from opening when I attach my camera
    • Run a script when I plug in a webcam
    • Automatically launch a Handbrake (or another app) when I insert an Audio CD

Also, is it possible to see, define, or edit what files, extensions are opened by Applications? For example, I want...

  • Photoshop
  • TextEdit
  • Microsoft Office (Excel, Word, PowerPoint, etc.)
  • Archive Utility

Using CommandI is very useful for setting specifc apps, but I want a more "global" solution to set specifics for each application and or extension.

Is there a way to do this easily on macOS?


RCDefaultApp.


UPDATE

As of 2020, RCDefault App seems to have been abandoned. There is another FOSS alternative - SwiftDefaultApps which is available on GitHub and via Homebrew. It's described as a "Replacement for RCDefaultApps" and testing has shown that it functions pretty much the same way as the original. It works on macOS 10.12.x (Sierra) through 10.15.x (Catalina).


There's a free (as in beer) application that you can use to change how macOS behaves with respect to application associations and URL, protocol, and media handling: RCDefault App.

RCDefaultApp is a Mac OS X 10.2 or higher preference pane that allows a user to set the default application used for various URL schemes, file extensions, file types, MIME types, and Uniform Type Identifiers

Set Default Apps

One of the most convenient uses of this application is to set your default app for common protocols like web browsing or email (setting your default browser or mail apps) or switching FTP from Finder to Firefox or Chrome.

Default Apps

File (Extensions) by Application

One of the more useful (and global) features is to find out what file extensions are "assigned" to a particular application. For example, here we can see what's associated with Acrobat Pro.

Extension by Application

Applications by Extension

The flip side to seeing what's assigned to a particular application is to see what application is assigned to a particular extension. In this case PDF is assigned to Acrobat Pro. From here, we can change its association to another application (like Preview).

Applications by Extension

Disable an App

One of the more useful tools (extremely useful in Lab or shared environments) is to disable certain apps, extensions, or protocols from ever being opened. For example, in the example below, Spotify can be disabled and will not open.

Disable an App

Installation & Use

It's an older app and it hasn't been updated since 2009; however, I recently tested it on both El Capitan and High Sierra.
Tested still working on Mojave 10.14.1 at Oct 18.

After downloading and mounting the DMG, simply copy the file RCDefaultApp.prefPane to either of the following directories:

  • /Library/PreferencePanes/ - will be available systemwide for all users
  • ~/Library/PreferencePanes/ - only availabe to your user profile

Open System Preferences and launch the utility

RCDefaultApp Icon

Pricing

It's FREE as in beer, but if you do find the utility useful, I encourage you to make a donation. Please note that I am not in any way affiliated with the developers or the software referenced here in any way.