Wijmo 5

The Next Generation of JavaScript Controls

Deliver next-generation HTML5 applications with Wijmo 5, a collection of true JavaScript controls written in TypeScript and built for speed. With touch-first design and full Angular support, these lightweight controls will blow you away with their power and flexibility.

Already purchased Wijmo? Download it here.

Read about our interop support: Angular ReactJS VueJS

Wijmo 5: Fast, Flexible, Familiar JavaScript Controls

Fast and Lightweight

  • We build small: our most popular control, FlexGrid, has a base size of <150 KB.
  • Our true JavaScript controls are built in TypeScript and have no dependencies.
  • Wijmo’s controls are lightning-fast. Try the benchmark demo.

Flexible and Extensible

  • Our easy-to-read, flexible API has a low learning curve and allows you to extend controls to meet your needs.
  • Controls are designed to have a simple core with as many extensibility points as possible. FlexGrid’s core has all the standard features of a data grid, but complex filtering, grouping, and more, are available as extensions.


  • FlexChart aims for parity with Excel’s charts
  • FlexGrid and FlexSheet offer Excel-like filtering, sorting, and merging
  • Input controls are designed so that you can customize to your user’s needs

Wijmo FlexChart's performance on 10,000 data points (expressed in seconds)

Wijmo FlexChart’s performance on 10,000 data points (expressed in seconds)

Basic FlexGrid

Wijmo FlexGrid

Download Free Trial

First-Class Framework Support

Wijmo is framework-agnostic, and we continue to add support for new frameworks. Here’s a look at our current framework support.

AngularJS and Angular 2

Wijmo’s Explorer fully supports Angular 2. In addition, we ship and maintain AngularJS directives for all of our controls and use it in most of our samples.

Read more about our first-class Angular 2 Support.


Our controls are fully supported in ReactJS, including FlexGrid, FlexChart, Input, and Gauges.

Read more about our ReactJS Support.

More Interop Options

We’re always thinking about new directions for Wijmo.

VueJS: How to Create Great VueJS Applications Using Wijmo Controls

KnockoutJS: Read about our Knockout support

FlexGrid’s Declarative Markup in Angular 2

FlexGrid’s Declarative Markup in Angular 2

Download Free Trial

True JavaScript Controls Written In TypeScript

Large-scale, client and server side applications are possible with Wijmo 5. We built on TypeScript for a better coding experience, and to save you time.

What you’ll get with TypeScript:

  • Object-oriented C#-like feel
  • Design-time error checking
  • Complete IntelliSense for Wijmo in Visual Studio
  • True JavaScript Controls

    The ECMAScript 5 standard adds support for property getters and setters. This may seem like a small change, but it makes a huge difference. It’s given us the opportunity to create true JavaScript controls.

    Additional Benefits of Wijmo 5:

    • ICollectionView provides a familiar experience for .NET developers migrating to HTML5
    • All Wijmo 5 controls can be bound to CollectionView

    New control syntax vs old widget pattern

    New control syntax vs old widget pattern

    Download Free Trial


    Browse, search, view source code and run all of our samples using the Wijmo 5 Sample Explorer.

    Wijmo Control Explorer

    Wijmo 5 Control Explorer

    Shows how to use all the controls in Wijmo 5, as well as the infrastructure shared by all the controls.

    Run Demo  |  Learn More

    FlexGrid JavaScript Data Grid

    FlexGrid 101

    Perform common tasks with FlexGrid, our fast and flexible data-bound grid control.

    Run Demo  |  Learn More

    Wijmo FlexChart JavaScript Chart

    FlexChart 101

    Perform common tasks with FlexChart, our beautiful and easy-to-use chart control.

    Run Demo  |  Learn More

    Wijmo FlexPie JavaScript Pie Chart

    FlexPie 101

    Get started with FlexPie, our flexible pie chart control.

    Run Demo  |  Learn More

    Wijmo JavaScript Gauge Control

    Gauge 101

    Get started with LinearGauge and RadialGauge, our smart and flexible gauge controls.

    Run Demo  |   Learn More

    Wijmo JavaScript Input Control

    Input 101

    Perform common tasks with all the Input controls in Wijmo 5.

    Run Demo  |  Learn More

    Wijmo JavaScript CollectionView Control

    CollectionView 101

    Get started with CollectionView, our .NET-like class that uses regular JavaScript arrays as data sources.

    Run Demo  |  Learn More

    Wijmo JavaScript TreeView Control

    TreeView 101

    Get started with TreeView, our hierarchical navigation tree with collapse/expand, full formatting, and image options.

    Run Demo  |  Learn More

    What Our Customers Say

    Thomson Reuters
    “We rely on functionality of Wijmo 5’s FlexGrid in our massive next-generation platform products. Wijmo’s modern, full-featured FlexGrid with sophisticated grid manipulations is what you will find at the heart of our workflow.”

    — Aaron Mendez, Manager of User Experience, Thomson Reuters

    “We purchased Wijmo and their team is doing a great job: good-looking, well-thought-out architecture; documentation; keeping up with ever-changing landscape like no others.”

    — BJ Jeong, Cisco

    Our Customers

    Our Customers

    What’s New in 2017 v1

    New Samples

    Use the SampleExplorer to search, filter by framework and even browse source code for all of our samples.

    Breaking Changes

    • [Angular1/Angular2] An ngModel directive specified on a WjMultiSelect directive/component is now mapped to the ‘checkedItems’ property, instead of the ‘selectedValue’ property. The previously used mapping to the ‘selectedValue’ property didn’t have any practical sense, so this change should not hurt your code.
    • Angular 2 WjFlexGrid component – added the following constructor parameter: @Inject(ChangeDetectorRef) cdRef: ChangeDetectorRef This change may affect your code in case if you use custom components derived from WjFlexGrid. You need to add this last constructor parameter to these components if this is the case.

    Change Log

    • Added wijmo.nav module with the TreeView control. (See TreeViewIntro sample for details). TreeView Intro
    • Added new MultiAutoComplete control to wijmo.input module. MultiAutoComplete Sample
    • Added gradient color support in chart controls. (See FlexChartIntro sample for details). FlexChart Intro
    • Added server-side support for wijmo.olap. To use server-side data providers, set the itemsSource property to a URL string pointing to a WebAPI service.
    • Add mobile support to reportviewer control. Added a thresholdWidth property to switch mobile or PC UI template. If width of control is smaller than thresholdWidth, mobile UI will be applied. If width of control is equal or greater than thresholdWidth, PC template will be applied. If thresholdWidth is set to 0, then only PC template is applied and if it’s set to a large number e.g. 9999, then only mobile template is applied.
    • [Angular2] Improved Wijmo components inheritance experience. Every Wijmo component/directive now have a corresponding variable exported from the component’s module that represents its @Component/@Directive decorator properties.
    • [Angular2] Restored CustomizedComponents sample.
    • [Angular2] Component metadata variables made typed using the IWjComponentMeta and IWjDirectiveMeta interfaces (for components and directives respectively).
    • [Angular 2] Every Wijmo component constructor now calls the special ‘created’ method. If you create a custom component inherited from a Wijmo component, and need to perform some initializations in its constructor then instead of declaring a constructor you can just override the ‘created’ method and perform initializations in it. This will prevent you from the necessity to maintain constructor parameters and keep them in synch with parameters of the base Wijmo component. The details of how Angular processes components inheritance can be found here: https://github.com/angular/angular/commit/f5c8e09
    • [Angular 2] Samples moved to Angular 2.4.
    • Added pluralization feature to the wijmo.format method. see http://wijmo.com/5/docs/topic/wijmo.Module.html#formatThe for details and an example.
    • Added FlexGrid draggingColumnOver and draggingRowOver events to provide control over drop targets (e.g. prevent users from moving certain columns to certain positions).
    • Improved FlexGridFilter performance when displaying long value lists.
    • Removed deprecated properties ‘disabled’ and ‘required’. These were replaced in build 5.20162.192 with ‘isDisabled’ and ‘isRequired’, in order to avoid conflicts with standard HTML attributes in the markup.

    View Changelog History