- Add Chromium web browser to your Java app. Display web pages and PDFs in JavaFX, Swing, SWT. Work with DOM, JS, Network, Printing, Downloads, etc.
- Prompt support
- Proven expertise
- Trusted by 1,500+ companies worldwide
- Simple integration
- How you can use JxBrowser
- Hybrid apps
- Checkout & kiosks
- Digital advertising
- Gaming
- Web scraping
- Automation
- Desktop & Tablet Apps
- How it works
- Features
- HTML5, CSS3, JavaScript
- Java ↔ JavaScript
- 4K 60FPS
- Off-Screen
- Security
- Chromium profiles
- HTML to Bitmap
- Printing
- DOM
- Widevine
- DevTools
- CSS
- Spelling
- ARM
- Network
- Cookies
- Custom protocols
- Dialogs
- User-Agent
- Proxy
- Save web page
- Keyboard & mouse
- Zoom
- Downloads
- Custom context menus
- Auth
- Getting help
- Documentation
- Contact support
- Community
- Standard Support
- Premium Services
- Product updates
- Help with the product use
- Assistance in troubleshooting
- Considering feature requests
- Early-Access Program
- Custom builds
- Priority feature development
- Video calls, remote sessions, and chats
- Consulting and expert advice
- On-site consulting
- Official releases on demand
Add Chromium web browser to your Java app.
Display web pages and PDFs in JavaFX, Swing, SWT.
Work with DOM, JS, Network, Printing, Downloads, etc.
Easy-to-use API with extensive documentation, tutorials, and dozens of examples.
Prompt support
Get reply from JxBrowser engineers within one business day in your personal Help center account.
Proven expertise
Created by engineers who have been integrating Java with MS IE, Firefox, WebKit, Safari, and Chromium for 19 years.
Trusted by 1,500+ companies worldwide
Here are just a few to name:
Simple integration
- /*
- * Copyright (c) 2000-2023 TeamDev Ltd. All rights reserved.
- * TeamDev PROPRIETARY and CONFIDENTIAL.
- * Use is subject to licence terms.
- */
- import static com.teamdev.jxbrowser.engine.RenderingMode.*;
- import com.teamdev.jxbrowser.browser.Browser;
- import com.teamdev.jxbrowser.engine.Engine;
- import com.teamdev.jxbrowser.view.swing.BrowserView;
- import java.awt.BorderLayout;
- import javax.swing.JFrame;
- import javax.swing.SwingUtilities;
- /**
- * This example demonstrates how to create and initialize the Engine,
- * create the Browser, embed it into a Swing container, display it in
- * JFrame, and load https://html5test.com
- */
- Engine engine = Engine.newInstance(HARDWARE_ACCELERATED);
- Browser browser = engine.newBrowser();
- SwingUtilities.invokeLater(() ->
-
- BrowserView view = BrowserView.newInstance(browser);
- JFrame frame = new JFrame( «Swing BrowserView» );
- frame.add( view , BorderLayout.CENTER);
- frame.setSize( 700 , 500 );
- frame.setVisible( true );
- browser.navigation().loadUrl( «https://html5test.com» );
- /*
- * Copyright (c) 2000-2023 TeamDev Ltd. All rights reserved.
- * TeamDev PROPRIETARY and CONFIDENTIAL.
- * Use is subject to licence terms.
- */
- import static com.teamdev.jxbrowser.engine.RenderingMode.*;
- import com.teamdev.jxbrowser.browser.Browser;
- import com.teamdev.jxbrowser.engine.Engine;
- import com.teamdev.jxbrowser.view.javafx.BrowserView;
- import javafx.application.Application;
- import javafx.scene.Scene;
- import javafx.scene.layout.BorderPane;
- import javafx.stage.Stage;
- /**
- * This example demonstrates how to create and initialize the Engine,
- * create the Browser, embed it into a JavaFX scene, and display
- * a modern web content such as YouTube video.
- */
- Engine engine = Engine.newInstance(HARDWARE_ACCELERATED);
- Browser browser = engine.newBrowser();
- BrowserView view = BrowserView.newInstance(browser);
- Scene scene = new Scene( new BorderPane( view ), 700 , 500 );
- primaryStage.setTitle( «JavaFX BrowserView» );
- primaryStage.setScene(scene);
- primaryStage.show();
- browser.navigation().loadUrl( «https://youtu.be/BO8lX3hDU30» );
- /*
- * Copyright (c) 2000-2023 TeamDev Ltd. All rights reserved.
- * TeamDev PROPRIETARY and CONFIDENTIAL.
- * Use is subject to licence terms.
- */
- import static com.teamdev.jxbrowser.engine.RenderingMode.*;
- import com.teamdev.jxbrowser.browser.Browser;
- import com.teamdev.jxbrowser.engine.Engine;
- import com.teamdev.jxbrowser.view.swt.BrowserView;
- import org.eclipse.swt.layout.FillLayout;
- import org.eclipse.swt.widgets.Display;
- import org.eclipse.swt.widgets.Shell;
- /**
- * This example demonstrates how to create and initialize
- * the Engine, create the Browser, embed it into an SWT Shell,
- * and load a web page that demonstrates WebGL 3D capabilities.
- */
- Engine engine = Engine.newInstance(HARDWARE_ACCELERATED);
- Browser browser = engine.newBrowser();
- Display display = new Display();
- Shell shell = new Shell(display);
- shell.setText( «SWT BrowserView» );
- shell.setLayout( new FillLayout());
- BrowserView view = BrowserView.newInstance(shell, browser);
- view.setSize( 700 , 500 );
- shell.pack();
- shell.open();
- browser.navigation().loadUrl(
- «https://links.teamdev.com/jxbrowser-webgl-demo» );
- while (!shell.isDisposed())
-
- if (!display.readAndDispatch())
-
- display.sleep();
How you can use JxBrowser
Hybrid apps
Extend your Java desktop app with the power of the latest web technologies. Get the best of both worlds in your software.
Checkout & kiosks
Use web technologies to implement the UI of your native application and display it on touch screens. Use peripheral devices directly from JavaScript.
Digital advertising
Display video or web content on the outdoor and indoor LED screens such as digital billboards, menu boards, digital signages in cinema, gas stations, MOL shops, restaurants, etc.
Gaming
Create games using JS, HTML, CSS and render them using GPU 4K@60fps without internet connection. Use peripheral devices directly from JavaScript.
Web scraping
Use web browser capabilities to load and analyze websites, find and go through their web pages, find and extract text and images, take screenshots of a web page, etc.
Automation
Simulate user activity and automate different scenarios on a web page. Intercept network requests, configure proxy, access and modify DOM, fill web forms, and more.
Desktop & Tablet Apps
Create modern desktop or tablet apps with stunning UI made with JS libraries such as React, AngularJS, Material UI, Bootstrap, etc.
How it works
Features
HTML5, CSS3, JavaScript
Display modern web pages built with the latest web standards.
Java ↔ JavaScript
Call Java code from JavaScript and vice versa.
4K 60FPS
Render 4K video full screen with 60FPS via GPU.
Off-Screen
Display Swing and JavaFX components over the web page.
Security
Stay secure with constant Chromium updates.
Chromium profiles
Create and use multiple standard and incognito profiles.
PDF
Display PDF documents via the built-in PDF Viewer.
HTML to Bitmap
Save the web page as a PNG or JPEG file.
Printing
Print web pages and PDFs. Save the web page as PDF.
DOM
Access and modify the DOM of the currently loaded web page.
Widevine
Play DRM-protected media content from Netflix and Amazon.
DevTools
Debug web pages via DevTools or Remote Debugging Port.
CSS
Inject additional CSS into the web page document.
Spelling
Get notifications about spelling mistakes on a web page.
ARM
Runs on the Apple Silicon and Linux ARM64 devices.
Network
Intercept network requests, modify HTTP headers, etc.
Cookies
Access, create, delete, and filter session and persistent cookies.
Custom protocols
Register custom protocols and emulate web server responses.
Dialogs
Control JavaScript and File dialogs or display your own.
User-Agent
Modify the user-agent string for each web page.
Proxy
Configure HTTP, HTTPS, FTP, and SOCKS proxy settings per Profile.
Save web page
Save the currently loaded web page as a set of files.
Keyboard & mouse
Filter the keyboard and mouse events. Register your shortcuts.
Zoom
Change zoom level, zoom in/out content of a web page.
Downloads
Manage file downloads, get notifications about download progress, pause or cancel.
Custom context menus
Display your own custom context menu or do nothing on the mouse right click.
Auth
Handle Basic, Digest, NTLM, Proxy, and SSL Cert auth. Work with SuisseID and U2F devices.
Getting help
Documentation
Contact support
With a Standard Support subscription, you can address the technical questions about JxBrowser via your account at JxBrowser Help Center.
Community
Standard Support
Premium Services
Product updates
During your active Standard Support subscription you can get and use all JxBrowser updates including patch, minor, and major versions for free.
This product version is incompatible with the license key.
You will see this error message if you try to use a new version of the product released after the expiration date of your active subscription. To use the new versions you can renew your subscription.JxBrowser updates include:
- new features;
- fixes and improvements;
- support of the new Java and operating system versions;
- Chromium upgrades.
Help with the product use
Our support engineers will be in touch with you and consult on the use of the product, provide expert advice, answer all your questions regarding JxBrowser possibilities, and assist in troubleshooting different issues.
Assistance in troubleshooting
If you see an issue that happens only in a specific environment, and you cannot provide a minimal test application where it is reproducible, we are ready to assist in troubleshooting such issues.
We can analyze the logs, stack traces, crash dumps, thread dumps, set up a remote screen sharing session and try to figure out what’s going on. If possible, we will suggest some workarounds or figure out how to reproduce the issue on our side to debug the library and apply the fix.
We accept and fix only the issues we can reproduce. It is the only way we can create an automated test, apply the fix, and make sure that the fix solves the issue.
Considering feature requests
If you want JxBrowser to be extended with some new functions, you can send us a feature request. We will consider your feature request and let you know if we will proceed developing this functionality or not. If we decide not to proceed developing the feature we will explain why and suggest a workaround if it exists.
Early-Access Program
We will link your bug report or feature request with the corresponding task in our internal issue tracking system. As soon as we implement the feature or apply the fix, we will prepare and publish an EAP build with these changes, and send you a notice of its availability. The new feature or fix will also be included in the next official release.
Custom builds
Do you need a very specific custom feature which cannot be included into an official version? In terms of this service, you can request that we implement the feature on top of the latest official version and provide you with a custom build. We will work with you to better understand the feature you need, collect all the requirements, investigate and provide you with an estimate, implement the feature, prepare and deliver the custom build for you.
Priority feature development
If you don’t want to wait until the requested feature is implemented in one of the next versions, and you need it as soon as possible, you can use this service to increase the priority of the feature and get it sooner than the planned release date.
Video calls, remote sessions, and chats
Use the extended communication channels to get in touch with our support engineers. If necessary we can arrange a video or phone call, set up a remote working session, or use chats for more effective communication. This service is used as an additional option to our Standard Support subscription or in a combination with other Premium Services.
Consulting and expert advice
If you have an idea of a new great product, or you want to extend functionality of your existing product by integrating JxBrowser and you don’t know how to do it right or how to solve your specific case. Our experts can assist and help you find the best solution, reduce your costs and manage risk.
On-site consulting
If there’s a necessity to be on your site to gather the details about your project and collect the requirements to provide you with expert advice from our engineers, then we are ready to provide you with on-site consulting all over the world.
Official releases on demand
You can request to release an official version with the feature or fix you are interested in, and that’s already available in the EAP build, without awaiting the planned release date.