Rust library to open URLs in the web browsers available on a platform
Rust
329
414 commits
updated Aug 5, 2026
Rust library to open URLs and local files in the web browsers available on a platform, with guarantees of Consistent Behaviour.
Inspired by the webbrowser python library
use webbrowser;
if webbrowser::open("http://github.com").is_ok() {
// ...
}
| Platform | Supported | Browsers | Test status |
|---|---|---|---|
| macos | ✅ | default + others | ✅ |
| windows | ✅ | default only | ✅ |
| linux/wsl | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | ✅ |
| android | ✅ | default only | ✅ |
| ios/tvOS/visionOS | ✅ | default only | ✅ |
| wasm | ✅ | default only | ✅ |
| unix (*bsd, aix etc.) | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | Manual |
webbrowser defines consistent behaviour on all platforms as follows:
webbrowser::open_browser_with_options.webbrowser optionally allows the following features to be configured:
hardened - this disables handling of non-http(s) urls (e.g. file:///) as a hard security precautiondisable-wsl - this disables WSL file implementation (http still works)wasm-console - this enables logging to wasm console (valid only on wasm platform)PRs invited for
Important note (while testing):
cargo test will actually open the browser locallyWhen contributing, please note that your work will be dual licensed as MIT + Apache-2.0 (see below).
SPDX-License-Identifier: Apache-2.0 OR MIT
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.
502 followers · starred Nov 2022
73 followers · starred Sep 2020
1,042 followers · starred Sep 2025
100 followers · starred Oct 2024
Rust library to open URLs in the web browsers available on a platform
Rust
329
414 commits
updated Aug 5, 2026
Rust library to open URLs and local files in the web browsers available on a platform, with guarantees of Consistent Behaviour.
Inspired by the webbrowser python library
use webbrowser;
if webbrowser::open("http://github.com").is_ok() {
// ...
}
| Platform | Supported | Browsers | Test status |
|---|---|---|---|
| macos | ✅ | default + others | ✅ |
| windows | ✅ | default only | ✅ |
| linux/wsl | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | ✅ |
| android | ✅ | default only | ✅ |
| ios/tvOS/visionOS | ✅ | default only | ✅ |
| wasm | ✅ | default only | ✅ |
| unix (*bsd, aix etc.) | ✅ | default only (respects $BROWSER env var, so can be used with other browsers) | Manual |
webbrowser defines consistent behaviour on all platforms as follows:
webbrowser::open_browser_with_options.webbrowser optionally allows the following features to be configured:
hardened - this disables handling of non-http(s) urls (e.g. file:///) as a hard security precautiondisable-wsl - this disables WSL file implementation (http still works)wasm-console - this enables logging to wasm console (valid only on wasm platform)PRs invited for
Important note (while testing):
cargo test will actually open the browser locallyWhen contributing, please note that your work will be dual licensed as MIT + Apache-2.0 (see below).
SPDX-License-Identifier: Apache-2.0 OR MIT
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.
502 followers · starred Nov 2022
73 followers · starred Sep 2020
1,042 followers · starred Sep 2025
100 followers · starred Oct 2024