Finicky is a macOS application that allows you to set up rules that decide which browser is opened for every link or url. With Finicky as your default browser, you can tell it to open Facebook or Reddit in one browser, and Trello or LinkedIn in another.
- Decide what urls to open in what browser or app
- Edit urls before opening them
- Complete control over configuration using JavaScript
- Getting started
- Example configuration
- Documentation
- Configuration tips
- Alternatives
- Building Finicky from source
- License
Download from releases
Finicky 3.4.0 is the latest stable release and should work for most use cases. Finicky 4 is under active development and available as prereleases. Note that these releases are actively being developed and can prove to be unstable and may contain bugs.
Finicky 4+ should work in MacOS 12+
// ~/.finicky.js
export default {
defaultBrowser: "Google Chrome",
rewrite: [
{
// Redirect all urls to use https
match: (url) => url.protocol === "http:",
url: (url) => {
url.protocol = "https:";
return url;
},
},
],
handlers: [
{
// Open apple.com and example.com urls in Safari
match: ["apple.com*", "example.com*"],
browser: "Safari",
},
{
// Open any url that includes the string "workplace" in Firefox
match: /workplace/,
browser: "Firefox",
},
{
// Open google.com and *.google.com urls in Google Chrome
match: [
"google.com*", // match google.com urls
"*.google.com*", // match google.com subdomains
],
browser: "Google Chrome",
},
],
};
See the documentation for all the features Finicky supports.
Finicky has extensive support for matching, rewriting and starting browsers or other application that handle urls. See the wiki for the full configuration documentation explaining all available, APIs and options as well as detail information on how to match on urls.
See the wiki page for other configuration tips by users of Finicky.
If you are looking for something that lets you pick the browser to activate in a graphical interface, check out Browserosaurus by Will Stone, an open source browser prompter for macOS. It works really well together with Finicky!
If you'd like to build Finicky from source:
- Install Go 1.23.4
- Install Node 22
- Install dependencies in
config-api
(npm install
) - Run
./scripts/build.sh
from base folder
Have any other questions or need help? Please feel free to reach out to me on Bluesky or post an issue here
Icon designed by @uetchy