JxBrowser uses its own Chromium build, which is shipped as part of the library distribution. Chromium is running in a separate native process named Chromium. The process has the default icon, version, description, and copyright information:
Chromium processes in Task Manager.
When you integrate JxBrowser into your Java desktop app, you may want to customize the Chromium process name, icon, version, etc. and use your own branding for a better user experience.
Your users may open Task Manager on Windows or Activity Monitor on macOS to see the list of running processes and identify your app by the process name and icon.
When the Chromium processes are customized to match your app’s branding, your users will not be worried about the strange Chromium processes running on their machines.
To customize Chromium process use the open-source Chromium Branding command line tool. It’s being developed and supported by the JxBrowser team. It supports Windows, macOS, and Linux.
You can download the source code, build the tool, and use it to customize the Chromium binaries. If you don’t want to build the tool yourself, you can find and download the pre-built binaries for the required platform on the Releases page.
How to customize Chromium binaries
In this section you will see how to customize the Chromium binaries using this command line tool.
Extract Chromium binaries from JxBrowser JAR
First, you need to extract the Chromium binaries from a corresponding JxBrowser JAR file. To do this, follow these steps:
- Take the Chromium binaries for Windows 64-bit from
the .jxbrowser-win64-8.5.0.jar
file - Rename the file to
jxbrowser-win64-8.5.0.zip
and extract it. You will find the8.5.0/chromium-win64.7z
7-zip archive inside the extracted folder. - Extract it using a 7-zip archiver tool.
You will get the chromium-win64
folder with the Chromium binaries.
Download the Chromium Branding tool
Download a suitable archive of the tool from the Releases page and extract it. In the extracted archive, you will find the chromium_branding
executable.
Configure branding parameters
Take params.json and modify it with the necessary branding information or create a new one. Save it to the same directory where the chromium_branding
executable is located.
The JSON file should have the following structure:
{
"version": "1.2.3",
"win": {
"executableName": "myapp",
"processDisplayName": "My App",
"legalCopyright": "© 2025 MyCompany",
"author": "Me",
"productName": "MyApp",
"icoPath": "assets/app.ico",
"signCommand": "echo @@BINARY_PATH@@"
},
"mac": {
"bundle": {
"name": "MyApp",
"id": "com.mycompany.myapp"
},
"icnsPath": "assets/app.icns",
"codesignIdentity": "${CODESIGN_IDENTITY}",
"codesignEntitlements": "assets/entitlements.plist",
"teamID": "${TEAM_ID}",
"appleID": "${APPLE_ID}",
"password": "${PASSWORD}"
},
"linux": {
"executableName": "myapp"
}
}
The description of each parameter you can find in the README.md file.
Run the tool
Run the following command in the terminal from the directory where the chromium_branding
executable is located:
chromium_branding.exe -p params.json -b path/to/chromium-win64 -o path/to/output
The customized Chromium binaries will be saved in the specified output directory.
The tool will create a special executable.name
file in the output directory. Do not delete this file because it’s required to run JxBrowser with customized Chromium binaries.
Signing and notarizing
The original Chromium binaries deployed with JxBrowser are signed with the TeamDev certificate. On macOS the binaries are also notarized by Apple. When you customize the Chromium binaries, you lose the original signature and notarization.
If you want to deploy the customized Chromium binaries with your software, you need to sign them with your own certificate and notarize them on macOS.
The win.signCommand
parameter in the params.json
file allows you to sign the Chromium binaries on Windows. You need to replace the echo @@BINARY_PATH@@
For example:
signtool sign /sha1 29FD9... /tr http://timestamp.digicert.com \
/td SHA256 /fd SHA256 @@BINARY_PATH@@
Using the branded Chromium binaries
To use the branded Chromium binaries with JxBrowser, you need to specify the path to the chromium-win64
folder in the jxbrowser.chromium.dir
system property or use the corresponding EngineOptions
API:
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(HARDWARE_ACCELERATED)
.chromiumDir(Paths.get("path/to/output/chromium-win64"))
.build()
);
Now, JxBrowser will use the customized Chromium binaries with your branding.
Customized Chromium processes in Task Manager.
You can pack and distribute the customized Chromium binaries as part of your software distribution package.
If you have any questions regarding using this tool, please contact us. We will be happy to assist.