Why JxBrowser

Clear API & Docs

Prompt Support

We are always on to provide you help and library updates when needed.

Developers’ Choice

Selected by 1500+ commercial and 100+ open source projects worldwide since 2007.

Proven Expertise

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

1363 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 Sky Fujitsu Limited Wincor Nixdorf AG GE Healthcare Raytheon Company TRUSTe European Patent Office Deloitte Consulting Miele Immer Besser Sungard Data Systems Inc

Simple Integration

Java Swing App

  • /.../
    • /*
    • * Copyright (c) 2000- TeamDev Ltd. All rights reserved.
    • * TeamDev PROPRIETARY and CONFIDENTIAL.
    • * Use is subject to licence terms.
    • */
  • import ...
    • import static com.teamdev.jxbrowser.engine.RenderingMode.*;
    •  
    • import com.teamdev.jxbrowser.browser.Browser;
    • import com.teamdev.jxbrowser.engine.Engine;
    • import com.teamdev.jxbrowser.engine.EngineOptions;
    • 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://www.google.com
    • */
  • public final class HelloWorld {...
    • public static void main(String[] args) {...
      • // Create and initialize the Engine
      • EngineOptions options =
      •     EngineOptions.newBuilder(HARDWARE_ACCELERATED).build();
      • Engine engine = Engine.newInstance(options);
      •  
      • // Create the Browser
      • Browser browser = engine.newBrowser();
      •  
      • SwingUtilities.invokeLater(() -> {
        • // Create the Swing BrowserView component
        • BrowserView view = BrowserView.newInstance(browser);
        •  
        • JFrame frame = new JFrame();
        • frame.add(view, BorderLayout.CENTER);
        • frame.setSize(700, 500);
        • frame.setVisible(true);
        •  
        • browser.navigation().loadUrl("https://www.google.com");
      • });
      }
    }

JavaFX App

  • /.../
    • /*
    • * Copyright (c) 2000- TeamDev Ltd. All rights reserved.
    • * TeamDev PROPRIETARY and CONFIDENTIAL.
    • * Use is subject to licence terms.
    • */
  • import ...
    • import static com.teamdev.jxbrowser.engine.RenderingMode.*;
    •  
    • import com.teamdev.jxbrowser.browser.Browser;
    • import com.teamdev.jxbrowser.engine.Engine;
    • import com.teamdev.jxbrowser.engine.EngineOptions;
    • 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 load
    • * the https://www.google.com web page.
    • */
  • public final class HelloWorld extends Application {...
    • @Override
    • public void start(Stage primaryStage) {...
      • // Create and initialize the Engine
      • EngineOptions options =
      •     EngineOptions.newBuilder(HARDWARE_ACCELERATED).build();
      • Engine engine = Engine.newInstance(options);
      •  
      • // Create the Browser
      • Browser browser = engine.newBrowser();
      •  
      • // Create the JavaFX BrowserView component
      • BrowserView view = BrowserView.newInstance(browser);
      •  
      • Scene scene = new Scene(new BorderPane(view), 700, 500);
      • primaryStage.setScene(scene);
      • primaryStage.show();
      •  
      • browser.navigation().loadUrl("https://www.google.com");
      }
    }
  •  

How You Can Use JxBrowser

Loading...
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

Cross Desktop Apps
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

Using Google Maps API
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

Automated Testing

Features


Hardware Accelerated and Off-Screen Rendering

JxBrowser supports two rendering modes: hardware accelerated and off-screen. In the off-screen rendering mode Chromium engine renders web page off-screen using CPU. In the hardware accelerated rendering mode the engine renders content into a native window embedded into your Java application using GPU. Learn more.

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 work with JavaScript objects directly from Java. You can inject Java objects into JavaScript and work with Java objects from JavaScript. See example.

Flash Support

JxBrowser allows displaying Adobe Flash content. You will need to have PPAPI Flash plugin installed.
Learn more.

Navigation Events

You can listen to different navigation events such as navigation started, finished, failed, redirected, frame load finished, etc. See guide.

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 guide.

JavaScript Dialogs

You can handle JavaScript dialogs such as alert, confirmation, prompt, beforeunload, and file upload. You can choose whether a JavaScript dialog should be displayed or not and what the dialog should look like. Read more about dialogs.

Saving a Web Page

The library allows you to save the loaded web page as a set of files. See example.

Accurate Web Display

The component displays web pages using Chromium engine. Because of this web pages will look exactly as in Google Chrome.

HTML to Bitmap

JxBrowser allows getting 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.

Cookies

You can access all the cookies including secure and HTTP-only ones, delete specific cookie or create a new one. See guide.

Keyboard & Mouse Events Filter

You can filter all keyboard and mouse events before they are passed to a web page. See example.

Custom Context Menu

You can display your own Swing/JavaFX context menu, using different useful information obtained from the library such as context menu location, selected text, link URL, link text, HTML element media type etc. See example.

Console Listener

You can listen to console message events including JavaScript errors. See example.

Proxy, Basic, Digest, and NTLM authentication

The library allows handling basic, digest, NTML, and Proxy authentications as well as authentication through SuisseID and U2F devices. Learn more.

Proxy Settings

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

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.

Printing

You can print the currently loaded web page or save it as PDF document via Print Preview dialog. Read more in the guide.

File Downloads

You can 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.

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 the Documentation.

Pop-ups

All pop-up windows can be handled. 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 guide.

User-agent

With JxBrowser you can set your own user-agent for each Browser instance. See example.

Filtering URLs

The library allows you to handle navigation requests and ignore them when it's necessary. See example.

Zooming

You can zoom in, zoom out a web page or set your own zoom level for the currently loaded web page. Zoom level is configured for each domain separately. See guide.

Getting Help

Contact Support

During your active support subscription you can submit and track requests related to your project in JxBrowser Help Center.

Community

Check the questions with #jxbrowser tag on Stack Overflow to see how other developers solved the tasks you are facing.

Follow @JxBrowserTeam on Twitter for the latest product news.

Evaluation SupportProvided for 30 days

Support Evaluation

Standard SupportProvided for one year with 25% discount for renewal

Support Standard

Premium SupportContract-based time and materials service

Support Premium
Help with the product use Help with the product use Help with the product use
Response within one business day Response within one business day Response within one business day
Provided by email Provided by email Provided by email
Product updates Product updates
Phone, chat and remote desktop
Feature development
Priority issue resolution
Evaluate for Free Request Renewal Request Premium
Awesome! It works great. Thanks so much for your excellent customer support. John Petersen, Sutro Software
Big thanks for your great support. I have spent these days with development within great JxBrowser library and I am quite impressed. Jan Pytel, Wincor Nixdorf International GmbH
I want to thank you for your immediate and continued assistance. The support we have received to date from TeamDev has been excellent. We look forward to continued interactions. Mike Riggs
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

Licensing and Pricing

Product license agreement  ∙  LGPL compliance

JxBrowser is using Blink and FFmpeg components, supplied under LGPL.

  • Perpetual Licence Perpetual license
  • Free Distribution Free distribution within your application
  • Support Updates 1 year Support and updates
  • 25% Discount Support renewal with 25% discount
  • 15% Discount 15% discount on TeamDev products

Per Developer $1,799

  • Developer 1 developer
  • Unlimited Projects Unlimited projects
  • Support 55 hours of support for 1 year
Buy Now

Project $5,299

  • Developers Unlimited developers
  • Project 1 project
  • Support 75 hours of support for 1 year
Request License

Company-wide $14,599

  • Developers Unlimited developers
  • Unlimited Projects Unlimited projects
  • Support 500 hours of support for 1 year
Request License

Source Code For 1 Developer

$11,499
Developers License for more developers
is also available for purchase

Frequently Asked Questions

Technical Questions

JxBrowser runs on Windows, macOS, and Linux. More information on supported platforms is available on the System Requirements page on the product 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.

Actual JxBrowser version is based on Chromium 69.0.3497.12 build.

Yes, you can use JxBrowser in Java Web Start applications like a standard Java library. You can find more information about it in JxBrowser Documentation.

You can find a lot of examples in our GitHub repository.

Licensing Questions

Major and minor version upgrades issued during your active Standard Support subscription period are free of charge. Upon expiration of the Standard Support subscription you can renew it with a 25% discount from the actual license price.

You only need to purchase 2 licenses. We license our library by the number of people who write code using our library.

You can distribute unlimited number of copies of your product with our library enclosed.

You may want to purchase a Project License, which is cost-effective in case there are 3 and more developers on the team. The Project License is bound to a single project you do, but it allows any number of developers in your company to work with our library.

Project License is bound to a package of your project. When you purchase a Project license we will ask you to provide the name of the package where you make calls to the library’s API. The package name is expected to be in the com.company.product.module format.

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.

The Project License is tied to one project only.

The best solution would be to purchase the Company–wide License, which covers any number developers and projects in one company.

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

Chromium code is mainly provided under a permissive BSD license, however, some components it includes are supplied under different licenses. We have reviewed the licenses for all components included in JxBrowser and referenced them here. There are no requirements to disclose your proprietary code.

Thank you!

Start your free trial in few simple steps

1
Email

Check Your Email

An email with your evaluation license key will arrive at your inbox in a few minutes.

If the message gets lost in your mailbox, try searching for an email from JxBrowser Evaluation Support with “Your Free 30 Days Trial” subject.

2
Licence

Install the License

To start using JxBrowser

  • download and extract the distribution archive,
  • include all the JAR files from the lib directory in your application class path,
  • configure JxBrowser with the license key.
3
Start

Get Started

Use the Quick Start Guides to get JxBrowser up and running in no time!

Examples

Check out the ready-made examples for instructions and ideas on what you can do with your newly gotten JxBrowser.

Evaluate

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time, so you will need to purchase the license.

Technologies and Platforms
Please list other technologies, it may help in support.
  • I have read and agree to the terms of the product license agreement.
  • We collect your personal information to identify you as our customer and provide you with our products and services.
    Check out our privacy statement.

    I agree to processing of my personal information.
  • We would like to send you information on upgrades and offers whenever we feel the new version or product is useful for your development.
    You can unsubscribe from emailing at any time.

    I agree to receive suggestions for products upgrades and offers.