webbrowser 0.7.1

Open URLs in web browsers available on a platform


Current Crates.io Version Crates.io Downloads License

Linux Build Windows Build MacOS Build Android Build WASM Build

Rust library to open URLs in the web browsers available on a platform

Inspired by the webbrowser python library



use webbrowser;

if webbrowser::open("http://github.com").is_ok() {
    // ...

Platform Support

Platform Supported Browsers Test status
macos default + others
windows default only
linux/*bsd default only (respects $BROWSER env var, so can be used with other browsers)
android default only
wasm default only
haiku ✅ (experimental) default only
ios default only

Consistent Behaviour

webbrowser defines consistent behaviour on all platforms as follows:

  • Non-Blocking for GUI based browsers (e.g. Firefox, Chrome etc.), while Blocking for text based browser (e.g. lynx etc.)
  • Suppressed output by default for GUI based browsers, so that their stdout/stderr don't pollute the main program's output. This can be overridden by webbrowser::open_browser_with_options.

Looking to contribute?

PRs invited for

  • Support for other platforms, e.g. iOS

Important note (while testing):

  • This library requires availability of browsers and a graphical environment during runtime
  • cargo test will actually open the browser locally

When contributing, please note that your work will be dual licensed as MIT + Apache-2.0 (see below).


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.