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.

Download Free Trial (v 5.20162.211)

Already purchased Wijmo? Download it here

Get Started With Angular 2

Fast, Flexible, Familiar JavaScript Controls

Fast and Lightweight

  • We build small: our most popular control, FlexGrid, has a base size of 113 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.

More Interop Options

We’re always thinking about new directions for Wijmo.

React JS: How to Use Wijmo Controls in ReactJS Apps

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

    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

    What’s New in Build 207

    • Angular 2: Wijmo interop adapted to RC.6, and can still work with RC.5. Angular 2 Info
    • Angular 2: all samples ported to RC.6 Angular 2 Explorer
    • Angular 2: added support for NgModule system introduced in RC.5. Each Wijmo Ng2 module includes corresponding NgModule that represents the module in Ng2 application and exports all its components. NgModule’s name is inferred from ES6 module name, e.g. for ES6 module wijmo/wijmo.angular2.grid.filter the name of corresponding NgModule is WjGridFilterModule. Only few samples are reworked so far to use NgModel: InputIntro, FlexGridIntro, ngForms and FlexSheetExplorer. The latter is SPA application that implements lazy modules loading.
    • ReactJS: Added a new interop module for React: wijmo.react.js. ReactJS Interop sample | How to Use Wijmo in ReactJS Apps blog
    • VueJS: Added a new interop module for Vue: wijmo.vue.js. VueJS Interop sample | How to Create Great VueJS applications Using Wijmo Controls blog
    • Completely redesigned help system. new Wijmo 5 Documentation
    • Added support for column footers panel on the FlexGrid. Column footers have their own ‘columnFooters’ grid panel (similar to columnHeaders and rowHeaders). To add column footers to a grid, add one or more rows to its columnFooters panel. For example: grid.columnFooters.rows.push(new wijmo.grid.GroupRow()) In this example, we added a GroupRow, which will cause the grid to automatically display the aggregates set in each Column. Alternatively, you could add on or more regular rows, and set the cell contents of those row using the columnFooters.setCellData method: grid.columnFooters.rows.push(new wijmo.grid.Row()); grid.columnFooters.setCellData(0, 0, ‘column footer value’); FlexGrid Custom Footers sample
    • Added a new charting control: FlexRadar for creating radar and polar charts. The control is in new module: wijmo.chart.radar.js. FlexRadarIntro samples (PureJs, Angular 1/2) are added to demonstrate the new control’s features. FlexRadar Intro sample
    • Added a new funnel chart type. Added funnel chart sample to FlexChartIntro sample. FlexChart Intro sample
    • Added a new FlexGrid.newRowAtTop property to control whether the new row template should be displayed at the top or at the bottom of the data rows.
    • Improved FlexGrid scrolling with frozen cells (used to be a little jerky in IE).
    • Angular 2: added the autoSizeRows boolean property to the wjFlexGridCellTemplate directive that allows to disable automatic row height expansion.
    • Angular 1/2: added support for cell templates for FlexGrid column footers. WjFlexGridCellTemplate.cellType property now accepts ‘ColumnFooter’ and ‘BottomLeft’ to be applied to the corresponding cell types. In order to get a cell value in ‘ColumnFooter’ cell templates the $value (Angular 1) or cell.value (Angular 2) properties can be used.
    • Improved performance of Row/Col.IsSelected method.
    • Improved performance of FlexGrid.preserveOutlineState property.
    • Improved keyboard support in wijmo.Menu. Now users can use the keyboard to open the menu with (Enter/f4/alt+up/alt+down) and to navigate the options (up/down/ autosearch).
    • Added a Gauge.showTicks property that causes linear and radial gauges to show tick marks on the gauge face. The tick marks start from “min” to “max” at every “step”. By default, the tick marks are white and 2 pixels in thickness. They can be styled using a “.wj-gauge .wj-ticks” CSS selector to customize their “stroke” and “stroke-width” values.
    • Added an optional ‘dataItem’ parameter to the DataMap.getDisplayValues method. The dataItem can be used to restrict the list of display values based on properties of the data item being rendered/edited (see http://wijmo.com/topic/flexgrid-datamap-that-is-row-dependent/).
    • Added support for “deep-binding” to the ListBox control (e.g. “customer.name”).

    View Changelog History