Embed a lightweight Chromium-based Swing/JavaFX component into your Java application to display modern web pages built with HTML5, CSS3, JavaScript, Flash, Silverlight etc.

Why JxBrowser

Clear API & Docs

Prompt Support

We are available via variety of support channels and always willing to walk an extra mile to make sure you are happy with JxBrowser.

Developers’ Choice

Selected by 863 commercial and 33 open source projects worldwide since 2007.

Proven Expertise

Created by a team with years of hands-on experience of integrating Java code.

371 companies worldwide build software using JxBrowser

Here are just a few to name:

  • Airbus S.A.S.
  • Renault Group
  • Caterpillar Inc
  • Pfizer Inc
  • Infosys Technologies Limited
  • CA Technologies
  • Fujitsu Limited
  • Wincor Nixdorf AG
  • GE Healthcare
  • Raytheon Company
  • TRUSTe
  • European Patent Office
  • Deloitte Consulting
  • Miele Immer Besser
  • Sungard Data Systems Inc

How You Can Use JxBrowser

Cross-desktop Apps that require web browser capabilities Google Maps in your Java Desktop Apps Automated Tests for web applications or services Taking Screenshots of web pages
Cross Desktop Apps

JxBrowser can be used to display modern web pages and HTML+CSS+JavaScript content in your Java applications. It allows building GUI of your cross-desktop application using any popular HTML5 UI toolkit.

Learn More

Using Google Maps API

Using JxBrowser you can embed Google Maps into your Java Desktop Apps and communicate with loaded map using JavaScript Google Maps API to zoom in/out, display a specified location, change map type, etc.

Learn More

Automated Testing

With full access to loaded web page’s DOM and JavaScript you can find DOM elements, extract useful information from document content, fill and submit web forms, execute custom JavaScript code, etc.

Learn More

Taking Screenshots

You can take a screenshot of a web page including hidden scrollable area and save it as an image file. This functionality can be used in developing a web service that provides image of a web page by its URL or for automated tests when you need to compare screenshots of the same web page to find regression and changes.

Learn More


Lightweight Component

Starting from version 4.0, JxBrowser provides a totally lightweight Swing/JavaFX component for displaying web pages. All web page rendering happens in separate native Chromium processes.

Flash and Silverlight

JxBrowser allows displaying Adobe Flash and Microsoft Silverlight contents. You will need to have Flash plugin and Silverlight installed.
Learn more.

Browser Events

You can listen to different web browser events such as Load (StartLoadingFrame , FinishLoadingFrame, FailLoadingFrame , DocumentLoadedInFrame and DocumentLoadedInMainFrame), Title and Zoom change events. Render process events such as RenderCreated and RenderGone are also available. See example.

DOM Access

You can find required HTML elements by tag name or ID, get/set HTML element attributes, listen to different DOM events such as click, mousedown, keydown, keyup, load, unload etc. See example.

JavaScript Dialogs

JavaScript dialogs such as alert, confirmation, prompt, beforeunload, and file upload dialog can be handled using DialogHandler. You can choose whether a JavaScript dialog should be displayed or not and what the dialog should look like. See example.

Proxy, Basic, Digest and NTLM authentication

With DialogHandler you can also handle basic, digest, NTML and Proxy authentications.


You can zoom in, zoom out on a web page or set your own zoom level for the currently loaded web page. Zoom level is configured for each domain separately. To make sure that the zoom level for the web page is changed you can use ZoomListener. You can choose whether a JavaScript dialog should be displayed or not and what the dialog should look like. See example.

Accurate Web Display

The lightweight component displays images generated by Chromium engine. Because of this web pages will look exactly as in Google Chrome.


Using the CookieStorage object you can receive all the cookies including secure and HTTP-only ones, delete all the cookies or a specific one, create and register new cookies. See example.

Bidirectional JavaScript-Java Bridge

You can execute JavaScript code on the loaded web page and return the result of the execution to the Java side. You can register new JavaScript functions and associate them with Java methods. Every time JavaScript invokes this function an appropriate Java method will be applied. See example.

Custom Context Menu

ContextMenuHandler allows you to handle the situation when context menu should be displayed. You can build your own Swing context menu, using different useful information from ContextMenuParams, such as context menu location, selected text, link URL, link text, HTML element media type etc. See example.

HTML to Image

Using the BrowserView.getImage() method you can get an image representation of the loaded web page including the hidden scrollable area. The image can be saved in PNG, JPEG and other graphic formats. See example.

Console Listener

Using ConsoleListener you can listen to console message events including JavaScript errors. See example

Load Handler

The LoadHandler allows you to handle navigation to any URL address and cancel it when it's necessary. See example

Saving a Web Page

Browser.saveWebPage() allows you to save the loaded web page as a set of files. See example

Web Standards

JxBrowser supports all the modern web standards including HTML5, CSS3 and JavaScript. In general JxBrowser supports the same web standards as Google Chrome.

Proxy Settings

You can configure each Browser instance to use its own proxy settings. Various configurations are supported: auto detect proxy, manual proxy configuration for HTTP, HTTPS, FTP protocols, direct proxy, proxy auto configuration files. See example.

Java Web Start and Java Applet

You can use JxBrowser library in Java applications that are deployed via Java Web Start or Java Applet. Read more in JxBrowser Programmer’s Guide.


All pop-up windows can be handled with PopupHandler. It is you who decides whether a pop-up window should be displayed or not and how exactly you want it to be displayed (e.g. in a separate window, in your application tab etc.). See example.


With JxBrowser you can set your own user-agent for all Browser instances. See example.

File Download & Upload

DownloadHandler allows you to handle file downloads and control whether a file should be downloaded or not. You can also receive notifications about download progress, speed, completion percentage, received bytes etc. See example.

When a user clicks the file upload INPUT element on a web page, the DialogHandler.onFileChooser() method will be invoked. Using this method you can display your own file chooser dialog where a user can select a file to upload.

Key Filter

Using KeyFilter you can filter all keyboard events before they are passed to the Chromium engine. See example

Try the Demo

Run The Demo jxbrowserdemo.jnlp

Runs on Windows, Mac OS X & Linux with:

You can find the same Demo application in the /demo directory of JxBrowser distribution package and run it locally. More Details.

Licensing and Pricing*

By using our products or any related documentation, you accept the Terms and Conditions of the Product Licence Agreement.

What You Get

  • Perpetual Development Licence
  • Free runtime distribution
  • Free minor version product updates
  • Free major version upgrade within 60 days of purchase date
  • Free Standard Support pack
  • No obligatory renewal fee
  • 15% discount on other TeamDev products

Per Developer


Per Project




Source Code




Support Renewal


Premium Support

* Your country's tax fees may apply to licence purchases. They will be charged in addition to the prices specified.
* Prices are subject to change without prior notice from TeamDev. Request an official quote for the purpose of purchase processing.

Technical FAQ

For the list of supported platforms please check the System Requirements page on the JxBrowser Support Site.

No, all the required Chromium binaries are deployed with JxBrowser library. You even don’t need to install Google Chrome to work with JxBrowser.

Please check out the Chromium Version page for the information on the used Chromium build.

Yes, you can use JxBrowser in Java Applet and JWS applications like standard Java library. You can find more information about it in JxBrowser Programmer’s Guide .

You can find a lot of examples in JxBrowser distribution package and online at JxBrowser Samples web page.

A: The fully-qualified name for a class is the package name followed by the class name, separated by a period (.). For example: com.mycompany.myproduct.MyClass

A: This can be any class of your application. The only requirement is that it should be included into your Java application class path.

Licensing FAQ

A: Our licensing is based on versions of JxBrowser. Having purchased the licence for our product you get the right to use the current major version of the product.

A: All minor version updates are free of charge. For example, if you have a licence to library version 4.x, you can receive all updates until the version 5.x is released. You can check the version of your licence in the teamdev.licenses file.

A: Upon purchase of licence you will receive a licence archive. The archive will contain two JARs: development.jar and runtime.jar. Development.jar is the licence that should be used in development process. Runtime.jar should be used to distribute your application to end users. Inside the development.jar you can find the teamdev.licenses file that contains information about your licence.

A: Major version upgrades should be purchased. You can upgrade your licence to a major version with a 25% upgrade discount. The licence upgrade includes renewal of the Standard Support pack.

A: You can distribute unlimited number of copies of your product with our library enclosed. Please use Runtime Licence for distribution of your product.

Runtime Licence is provided free of charge.

A: Yes, you can purchase JxBrowser Source Code Licence; it is provided on a per developer basis. Please contact our sales team if you are interested in this option.

A: The Per Developer licence is intended for companies. This licence can be passed from developer to developer under the condition that the number of licences in your team corresponds to the number of developers writing code using JxBrowser. The Personal licence is tied to just one person. It cannot be transferred, granted or assigned.

A: You may want to purchase a Project licence, which is cost-effective in case there are 3 and more developers on the team.

A: Per Project licence is bound to a single project you do, but it allows any number of developers in your company to work with our library.

A: When we say “project” we have in mind one product of your company including your future product versions or potential derivative works based on your product.

A: The best solution would be to purchase the Unlimited licence, which covers any number developers and projects in one company.

A: The Project licence is tied to one project only.

Free Licences Programs

Free Licences for Academic Purposes

We provide licences for institutions, educators, students and researchers for the duration of the project or a study.

Apply You will need to submit a reference letter from your supervisor (for students) or proof of participation in research project.
Open Source™

Free Licences for Open-source Projects

We will provide you with a free licence that will be tied to a class name in your project.


Getting Help

Product Forums

You will need a Google ID to be able to post on forums, and you can do that

Note that your message will be automatically posted on the web.

Evaluation Support

Standard Support

Premium Support

Your support is phenomenal... Your responsiveness is really helpful... I continue to be impressed with you and your team. John Michelsen, iTKO, Inc.
I've just purchased the license. I would like to thank Vladimir for an excellent support in a responsive manner. This really helped us to close the deal quickly. Maty Siman, Checkmarx Ltd


We will use this name when writing to you.
We will send you the link. We will not give your email to anybody else.
A couple of meaningful words on your project may help our support suggest you how to use the product better. We do read it:)