Why DotNetBrowser

Support

Professional Support

Your questions are promptly handled by the development team.

Quick Start

Explicit API and Docs

Easy-to-use API, Quick Start Guides, and extensive Documentation

Best Choice

Best Technology Choice

Is based on a WebKit successor, Chromium browser. Can display modern content built with HTML5, CSS3, JavaScript, Silverlight® and other web technologies.

  • Visual Studio Partner

Simple Integration

DotNetBrowser Full Screen

C#

using System.Windows.Forms;
using DotNetBrowser;
using DotNetBrowser.WinForms;

namespace WinForms.DotNetBrowser
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            BrowserView browserView = new WinFormsBrowserView();
            Controls.Add((Control) browserView);
            browserView.Browser.LoadURL("http://www.google.com");
        }
    }
}

Visual Basic .NET

Imports DotNetBrowser
Imports DotNetBrowser.WinForms

Namespace WinForms.DotNetBrowser

    Public Class Form1

        Public Sub New()
            Dim browser As Browser
            Dim browserView As BrowserView
            InitializeComponent()

            browserView = New WinFormsBrowserView()    
            Controls.Add(browserView)
            browser.LoadURL("http://www.google.com")    
        End Sub
    End Class
End Namespace

MainWindow.xaml

<Window x:Class="WPF.DotNetBrowser.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="mainLayout">

    </Grid>
</Window>

See another example for working with XAML

C# .NET MainWindow.xaml.cs

using DotNetBrowser;
using DotNetBrowser.WPF;

namespace WPF.DotNetBrowser
{
    public partial class MainWindow : Window
    {
        BrowserView webView;

        public MainWindow()
        {
            InitializeComponent();

            webView = new WPFBrowserView(BrowserFactory.Create());
            mainLayout.Children.Add((UIElement)webView.GetComponent());
            webView.Browser.LoadURL("http://www.google.com");
        }
    }
}

Visual Basic .NET MainWindow.xaml.vb

Imports DotNetBrowser
Imports DotNetBrowser.WPF

Namespace WPF.DotNetBrowser

    Class MainWindow
        Private webView As BrowserView

        Public Sub New()

            InitializeComponent()

            webView = New WPFBrowserView(BrowserFactory.Create())   
            mainLayout.Children.Add(webView.GetComponent())
            webView.Browser.LoadURL("http://www.google.com")

        End Sub
    End Class
End Namespace

Features


WPF / WinForms Control

DotNetBrowser provides .NET WPF / WinForms Control that can be embedded into .NET Applications to display HTML content including modern web pages. Learn more.

Multi-Process Architecture

DotNetBrowser inherits Chromium Multi-Process Architecture. It means that every web page is rendered in separate Chromium Render process. Actually all native functionality is running in separate native processes. It means that Chromium will not use memory of your .NET application.

Load Handler

With LoadHandler you can handle any load activity including filtering all URLs loaded in Browser component. See example.

Bidirectional JavaScript to .NET Bridge

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

SSL Certificate Dialogs

DotNetBrowser API allows handling SSL X.509 Client Certificates. See example.

DOM Access

DOM API provides functionality that can be used for accessing and modifying DOM, finding particular nodes, modifying their attributes and contents, listening to DOM events and even more – all without the need to use JavaScript. Learn more.

Display Web Accurately

Web page is rendered by Chromium engine. Because of this web pages will look exactly as in Google Chrome.

Browser Events Listeners

You can listen to different web browser events such as start loading frame, finish loading frame, fail loading frame, document loaded in main frame, title and status change events etc. See example.

Resource Handler

With ResourceHandler you can handle process of loading resources such as HTML, images, JavaScript, etc. See example.

Popups Handler

All popup windows can be handled with PopupHandler. You decide whether popup window should be displayed or not and how exactly it should be displayed (e.g. in a separate window, in your application tab etc.). Learn more.

Plugin Manager

Using PluginManager API you can get information about all available plugins and enable/disable them. Learn more.

HTML to Image

Take a screenshot, and even capture an image of the complete web page. See example.

Geolocation and Google API support

Use Google Maps Geolocation API and work with Google Maps. See example.

Printing API

Customize the printing of the loaded web pages from both JS and .NET. Learn more.

HTML5, CSS3, JavaScript Support

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

JavaScript Dialogs Handler

The JavaScript dialogs such as alert, confirmation, prompt, beforeunload, 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.

Save Web Page

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

Console Listener

Using the ConsoleMessageEvent you can listen to console messages with different levels such as DEBUG, LOG, WARNING or ERROR, to get notifications about JavaScript errors on the loaded web page. See example.

Modify User Agent

With DotNetBrowser you can modify browser’s User-Agent string that will be sent to a web server. See example.

XPath Support

Evaluate XPath expressions in scope of the whole document or a specific node. See example.

HTML5 Desktop Notifications

NotificationHandler allows you to tackle the situation when web page wants to display desktop notifications. You decide whether the web page is allowed to display notifications or not. Learn more.

Getting Help

Contact Support

During your evaluation and an active support subscription you can submit requests related to your project on our support portal.

Ask a Question

We answer questions with #dotnetbrowser tag on Stack Overflow.

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 Phone, chat and remote desktop
Product updates Product updates
Feature development
Priority issue resolution
Evaluate for Free Request Renewal Request Premium

Licensing and Pricing

Product licence agreement  ∙  LGPL compliance

DotNetBrowser is using Webkit subproject of Chromium, supplied under LGPL.

  • Perpetual Licence Perpetual licence
  • 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,199

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

Project $3,549

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

Company-wide $10,799

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

Source Code For 1 Developer

$7,999 1 Per Developer licence included
Developers Licence for more developers
is also available for purchase

Get Licences via Resellers

Become a Reseller

Frequently Asked Questions

Technical Questions

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

The library uses Chromium 55.0.2883.87.

You can find a lot of examples inside Examples directory of DotNetBrowser distribution package.

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 licence price.

You only need to purchase 2 licences. We licence 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 licence, which is cost-effective in case there are 3 and more developers on the team. The 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.

Project Licence is bound to your project via the fully qualified type name of any project-specific class. For additional information on binding, please take a look at the following article.

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 licence is tied to one project only.

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

When you purchase a commercial license, you will get an archive with two license files — Development/teamdev.licenses and Runtime/teamdev.licenses. Licence inside the Development folder is intended for development of your applications, while the licence inside the Runtime folder is to be used for distribution of your software with DotNetBrowser enclosed.

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

If you are doing an open source or academic project, you can apply to get a free licence. Please submit a request via Open Source or Academic tab on the evaluation form.

Chromium code is mainly provided under a permissive BSD licence, however, some components it includes are supplied under different licences. We have reviewed the licences for all components included in DotNetBrowser 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

Links to download your evaluation licence and distribution archive will arrive at your inbox in a few minutes.

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

2
Licence

Install the Licence

To start using DotNetBrowser

  • download your evaluation licence,
  • download and extract the distribution archive,
  • include the licence into your project as an embedded resource. See the instruction
3
Start

Get Started

Use these guides to get DotNetBrowser up and running in no time:

Quick Start Guide WPF

Quick Start Guide WinForms

Examples

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

Evaluate

Commercial Open Source Academic

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

With this licence you will be able to evaluate our product for 30 days.
The evaluation licence will not work after this time. If you are doing an open source project, you can request a permanent licence via the link provided in the email you will receive.

With this licence you will be able to evaluate our product for 30 days.
The evaluation licence will not work after this time. You can request a licence for duration of your academic project via the link provided in the email you will receive.

You should have an existing open source project which has commits and some life period of the project.

We can provide licences only for projects distributed under non-viral licence (LGPL, Apache, etc.). Our library is proprietary and we will not be able to disclose its code.

Technologies and Platforms
Please list other technologies, it may help in support.