---
product: "AG Charts"
title: "Module Registry"
description: "Register Angular AG Charts modules to enable chart types and features before creating Angular charts."
framework: angular
version: "14.2.0"
related:
    - title: "Installation"
      url: "https://www.ag-grid.com/charts/archive/14.2.0/angular/installation/"
    - title: "Enterprise Licence Key"
      url: "https://www.ag-grid.com/charts/archive/14.2.0/angular/license-install/"
    - title: "Development Validation"
      url: "https://www.ag-grid.com/charts/archive/14.2.0/angular/dev-validation/"
    - title: "Migration"
      url: "https://www.ag-grid.com/charts/archive/14.2.0/angular/migration/"
    - title: "Server-Side Rendering"
      url: "https://www.ag-grid.com/charts/archive/14.2.0/angular/server-side-rendering/"
llms: "https://www.ag-grid.com/charts/archive/14.2.0/llms.txt"
---

# Module Registry

Reduce bundle size by importing only the AG Chart modules required by your application, with treeshaking support.

## Overview

AG Chart Modules allow you to reduce the bundle size of your application by only including the modules you want to use. Use the [Module Selector](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/#selecting-modules) tool below to select the modules you want to use and generate the correct module registration code.

Alternatively, if you are not concerned about bundle size and you want access to every feature in Community / Enterprise, use [Bundles](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/#bundles) to include all Community / Enterprise modules.

## Registering AG Charts Modules

Every module must be registered before a chart can use it, either [globally](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/#registering-globally) via `ModuleRegistry` or [per chart](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/#registering-per-chart) when that chart is created. These approaches can be mixed — register some modules globally and others per chart.

For simplicity, register modules globally before creating any charts.

> **Note**
>
> `ModuleRegistry.registerModules` is idempotent: registering the same module again is ignored unless a different version is detected.

### Importing the Module Registry

The Module Registry can be imported from either `ag-charts-enterprise` or `ag-charts-community`, but the registry class itself is shared and only one import is required.

```js
// For Enterprise users:
import { AgCharts, ModuleRegistry } from 'ag-charts-enterprise';
```

```js
// For Community users:
import { AgCharts, ModuleRegistry } from 'ag-charts-community';
```

### Importing Modules

For Enterprise users, all modules (including Community ones) are exported by `ag-charts-enterprise`, allowing you to import everything from a single package.

```js
import {
    AllCommunityModule,
    AnimationModule,
    HeatmapSeriesModule,
    ModuleRegistry,
} from 'ag-charts-enterprise';

ModuleRegistry.registerModules([AllCommunityModule, HeatmapSeriesModule, AnimationModule]);
```

Mixing imports from `ag-charts-community` is also supported if required.

```js
import { AllCommunityModule, ModuleRegistry } from 'ag-charts-community';
import { AnimationModule, HeatmapSeriesModule } from 'ag-charts-enterprise';

ModuleRegistry.registerModules([AllCommunityModule, HeatmapSeriesModule, AnimationModule]);
```

### Registering Globally

Add the `ModuleRegistry.registerModules` call near the bootstrap of your application — this is the simplest approach, though registering additional modules later is also supported (see the idempotent note above).

The example below registers the minimum set of Community modules required for a cartesian line chart:

#### Minimal Line Chart Registration

```ts
// Angular entry point file
import '@angular/compiler';
import { bootstrapApplication } from '@angular/platform-browser';

import { AppComponent } from './app.component';

bootstrapApplication(AppComponent);
```

[Live example: Minimal Line Chart Registration](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/examples/minimal-line-registration/)

```js
import {
    AgCharts,
    CategoryAxisModule,
    LineSeriesModule,
    ModuleRegistry,
    NumberAxisModule,
} from 'ag-charts-community';

ModuleRegistry.registerModules([LineSeriesModule, NumberAxisModule, CategoryAxisModule]);
```

### Registering per Chart

Modules can also be registered for a single chart instance. This is useful when different charts on a page use different features, or when an application prefers not to rely on a global registry.

Pass the modules through the `modules` input:

```html
<ag-charts [options]="options" [modules]="modules"></ag-charts>
```

#### Per-Chart Registration

```ts
// Angular entry point file
import '@angular/compiler';
import { bootstrapApplication } from '@angular/platform-browser';

import { AppComponent } from './app.component';

bootstrapApplication(AppComponent);
```

[Live example: Per-Chart Registration](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/examples/per-chart-registration/)

In this example:

- The `CategoryAxisModule` and `NumberAxisModule` are registered globally, so they are available to both charts.
- The `LineSeriesModule` and `BarSeriesModule` are registered per chart, so each chart only has the series it needs.
- Per-chart modules stay registered for the lifetime of that chart, including across `update` calls, and are not visible to other charts.
- The modules are read once, when the chart is created. Changing them afterwards, including through a framework property, has no effect on an existing chart.

### Checking Registered Modules

Use `chart.isModuleRegistered` to check whether a module is available to a chart, whether it was registered globally or passed to the chart.

```js
const chart = AgCharts.create(options);

const isRegistered = chart.isModuleRegistered('LineSeriesModule');
```

## Bundles

- The `AllCommunityModule` bundle contains all of the modules available in AG Charts Community.
- The `AllEnterpriseModule` bundle contains all of the modules available in both Community and Enterprise.

Registering a bundle is identical to manual registration:

```js
import { AllEnterpriseModule, ModuleRegistry } from 'ag-charts-enterprise';

ModuleRegistry.registerModules([AllEnterpriseModule]);
```

## Selecting Modules

To work out which modules are required, select the features of the chart that you are using below and copy the generated registration snippet.

[Select modules interactively](https://www.ag-grid.com/charts/archive/14.2.0/angular/module-registry/#selecting-modules) to generate the registration code, or work from the full module list below.

| Feature | Module | Enterprise |
| --- | --- | --- |
| [Category Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-types/#category-axis) | `CategoryAxisModule` |  |
| [Grouped Category Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-types/#grouped-category-axis) | `GroupedCategoryAxisModule` |  |
| [Number Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-types/#number-axis) | `NumberAxisModule` |  |
| [Log Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-types/#log-axis) | `LogAxisModule` |  |
| [Time Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-time/) | `TimeAxisModule` |  |
| [Unit Time Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-time/#unit-time-axis) | `UnitTimeAxisModule` |  |
| [Ordinal Time Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-time/) | `OrdinalTimeAxisModule` | Enterprise |
| [Angle Category Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-line-series/#customisation) | `AngleCategoryAxisModule` | Enterprise |
| [Angle Number Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-line-series/#customisation) | `AngleNumberAxisModule` | Enterprise |
| [Radius Category Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-line-series/#customisation) | `RadiusCategoryAxisModule` | Enterprise |
| [Radius Number Axis](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-line-series/#customisation) | `RadiusNumberAxisModule` | Enterprise |
| [Bar Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/bar-series/) | `BarSeriesModule` |  |
| [Line Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/line-series/) | `LineSeriesModule` |  |
| [Area Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/area-series/) | `AreaSeriesModule` |  |
| [Scatter Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/scatter-series/) | `ScatterSeriesModule` |  |
| [Bubble Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/bubble-series/) | `BubbleSeriesModule` |  |
| [Pie Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/pie-series/) | `PieSeriesModule` |  |
| [Donut Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/donut-series/) | `DonutSeriesModule` |  |
| [Box Plot Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/box-plot-series/) | `BoxPlotSeriesModule` | Enterprise |
| [Candlestick Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/candlestick-series/) | `CandlestickSeriesModule` | Enterprise |
| [OHLC Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/ohlc-series/) | `OhlcSeriesModule` | Enterprise |
| [Heatmap Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/heatmap-series/) | `HeatmapSeriesModule` | Enterprise |
| [Histogram Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/histogram-series/) | `HistogramSeriesModule` | Enterprise |
| [Nightingale Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/nightingale-series/) | `NightingaleSeriesModule` | Enterprise |
| [Radar Area Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-area-series/) | `RadarAreaSeriesModule` | Enterprise |
| [Radar Line Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/radar-line-series/) | `RadarLineSeriesModule` | Enterprise |
| [Radial Bar Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/radial-bar-series/) | `RadialBarSeriesModule` | Enterprise |
| [Radial Column Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/radial-column-series/) | `RadialColumnSeriesModule` | Enterprise |
| [Range Area Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/range-area-series/) | `RangeAreaSeriesModule` | Enterprise |
| [Range Bar Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/range-bar-series/) | `RangeBarSeriesModule` | Enterprise |
| [Waterfall Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/waterfall-series/) | `WaterfallSeriesModule` | Enterprise |
| [Sunburst Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/sunburst-series/) | `SunburstSeriesModule` | Enterprise |
| [Treemap Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/treemap-series/) | `TreemapSeriesModule` | Enterprise |
| [Sankey Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/sankey-series/) | `SankeySeriesModule` | Enterprise |
| [Chord Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/chord-series/) | `ChordSeriesModule` | Enterprise |
| [Funnel Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/funnel-series/) | `FunnelSeriesModule` | Enterprise |
| [Cone Funnel Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/cone-funnel-series/) | `ConeFunnelSeriesModule` | Enterprise |
| [Pyramid Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/pyramid-series/) | `PyramidSeriesModule` | Enterprise |
| [Financial Charts](https://www.ag-grid.com/charts/archive/14.2.0/angular/financial-charts/) | `FinancialChartModule` | Enterprise |
| [Org Chart](https://www.ag-grid.com/charts/archive/14.2.0/angular/org-chart/) | `OrganizationSeriesModule` | Enterprise |
| [Quadrant Chart](https://www.ag-grid.com/charts/archive/14.2.0/angular/quadrant-chart/) | `QuadrantChartModule` | Enterprise |
| [Map Shape Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/map-shapes/) | `MapShapeSeriesModule` | Enterprise |
| [Map Shape Background](https://www.ag-grid.com/charts/archive/14.2.0/angular/map-shapes/) | `MapShapeBackgroundSeriesModule` | Enterprise |
| [Map Line Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/map-lines/) | `MapLineSeriesModule` | Enterprise |
| [Map Line Background](https://www.ag-grid.com/charts/archive/14.2.0/angular/map-lines/#background-lines) | `MapLineBackgroundSeriesModule` | Enterprise |
| [Map Marker Series](https://www.ag-grid.com/charts/archive/14.2.0/angular/map-markers/) | `MapMarkerSeriesModule` | Enterprise |
| [Radial Gauge](https://www.ag-grid.com/charts/archive/14.2.0/angular/radial-gauge/) | `RadialGaugeModule` | Enterprise |
| [Linear Gauge](https://www.ag-grid.com/charts/archive/14.2.0/angular/linear-gauge/) | `LinearGaugeModule` | Enterprise |
| [Cross Lines](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-cross-lines/) | `CrossLinesModule` |  |
| [Legend](https://www.ag-grid.com/charts/archive/14.2.0/angular/legend/) | `LegendModule` |  |
| [Annotations](https://www.ag-grid.com/charts/archive/14.2.0/angular/annotations/) | `AnnotationsModule` | Enterprise |
| [Error Bars](https://www.ag-grid.com/charts/archive/14.2.0/angular/error-bars/) | `ErrorBarsModule` | Enterprise |
| [Gradient Legend](https://www.ag-grid.com/charts/archive/14.2.0/angular/heatmap-series/#gradient-legend) | `GradientLegendModule` | Enterprise |
| [Polar Cross Lines](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-cross-lines/#polar-axes-cross-lines) | `PolarCrossLinesModule` | Enterprise |
| [Localisation](https://www.ag-grid.com/charts/archive/14.2.0/angular/localisation/) | `LocaleModule` |  |
| [Animation](https://www.ag-grid.com/charts/archive/14.2.0/angular/animation/) | `AnimationModule` | Enterprise |
| [Band Highlight](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-crosshairs/#band-highlight) | `BandHighlightModule` | Enterprise |
| [Context Menu](https://www.ag-grid.com/charts/archive/14.2.0/angular/context-menu/) | `ContextMenuModule` | Enterprise |
| [Crosshair](https://www.ag-grid.com/charts/archive/14.2.0/angular/axes-crosshairs/) | `CrosshairModule` | Enterprise |
| [Data Selection](https://www.ag-grid.com/charts/archive/14.2.0/angular/selection/) | `SelectionModule` | Enterprise |
| [Flash On Update](https://www.ag-grid.com/charts/archive/14.2.0/angular/flash-on-update/) | `FlashOnUpdateModule` | Enterprise |
| [Navigator](https://www.ag-grid.com/charts/archive/14.2.0/angular/navigator/) | `NavigatorModule` | Enterprise |
| [Range Controls](https://www.ag-grid.com/charts/archive/14.2.0/angular/range-controls/) | `RangesModule` | Enterprise |
| [Scrollbar](https://www.ag-grid.com/charts/archive/14.2.0/angular/scrollbar/) | `ScrollbarModule` | Enterprise |
| [Synchronization](https://www.ag-grid.com/charts/archive/14.2.0/angular/sync/) | `SyncModule` | Enterprise |
| [Zoom](https://www.ag-grid.com/charts/archive/14.2.0/angular/zoom/) | `ZoomModule` | Enterprise |
