Most traders never get to choose their charts. You take whatever your broker ships, and if the study you want is missing, or the layout is wrong, or you want the same chart running inside your own website, there is very little you can do about it. OpenAlgo Charts is built to change that. It is a free and open source charting engine and trading terminal, released under the Apache-2.0 licence, and any trader, broker or fintech portal can take it and build on it.
It is written from scratch on the HTML5 canvas, with no third party charting library underneath it, and it is the engine behind the charts inside OpenAlgo itself. Everything shown below is the live OpenAlgo terminal running on real broker data.
What OpenAlgo Charts gives you
It is a charting engine and a trading terminal in one package: 13 chart types, 102 built-in technical indicators plus any you write yourself, 85 drawing tools, market replay, multi chart layouts, combined option premium charts, and order placement from the chart with a sandbox mode so nothing goes live until you arm it.

102 built-in indicators, and the ones you write yourself
The indicator library ships with 102 studies. The everyday ones are all there: SMA, EMA, WMA, VWAP, Bollinger Bands, RSI, MACD, Stochastic, ADX and DMI, ATR. So are the trend followers traders actually use on Indian markets: Supertrend, HalfTrend, Ichimoku, Keltner Channels, Donchian Channels, Chandelier Exit, and CPR with floor pivots. Beyond those sits a long tail of less common studies, from Connors RSI and Fisher Transform to WaveTrend, Vortex, Klinger and Williams Fractals.
Some of them shade zones on the chart, some print named buy and sell markers, and a couple recolour the candles themselves. If the indicator you want is not in the list, you can write it in plain JavaScript and register it. It then behaves exactly like a built-in, including the generated settings dialog for colour, thickness, line style and parameters.

85 drawing tools that stay where you put them
There are 85 drawing tools: trend lines, channels and pitchforks, the full Fibonacci set including retracements, extensions, fans, time zones, circles and arcs, the Gann fan, box and square, harmonic patterns, Elliott waves, shapes, forecasts, measurements, text, tables and freehand brushes.
Every drawing is anchored to a time and a price rather than to pixels on the screen. That sounds like a technical detail until you zoom, switch timeframe or scroll past the last candle and find your support line still sitting exactly where you drew it. Magnet snapping to open, high, low and close, undo and redo, copy and paste between charts, and saved layouts are all part of it.

Combined option premium charts, straddles and ratios
This is the feature option traders ask for most often. Type two legs with an operator in the symbol box and you get a single chart of the combined premium. An at the money straddle is simply the call plus the put. A ratio chart is one symbol divided by another. A spread is a subtraction. The chart updates on every tick, so you can watch a straddle bleed through the session instead of adding up two windows in your head.
Indicators work on the computed series exactly as they do on a normal chart, so a Supertrend or a moving average on a straddle premium is one click away. A computed chart cannot be traded, and the terminal says so plainly rather than letting you discover it at the wrong moment.

Option chain with live Greeks next to the chart
The option chain sits beside the chart and switches between last traded price, open interest, volume and the Greeks: implied volatility, delta, gamma, theta and vega. Spot, the at the money strike and the put call ratio sit at the top, and any strike can be sent to the chart or traded straight from the chain.

Market replay and multi chart layouts
Market replay steps through a past session bar by bar at whatever speed you choose, rebuilding every indicator, level and marker as it stood at that bar. It is the honest way to check whether a study repaints, and a quiet way to practise a setup without risking anything.
Layouts go up to eight charts, each with its own symbol, timeframe and indicators. Hovering one chart marks the same moment on the others, which matters when you are watching an index, its future and two stocks at the same time.

Trading directly from the chart
Right click anywhere on the price to place a market, limit or stop order. Drag the order line to modify it, drag the bracket lines to move the target and the stop, and watch live profit and loss on the position line. There are one click buy and sell buttons on the chart, a depth of market ladder, and an order state machine behind all of it.
Inside OpenAlgo this is wired to the broker layer, which currently covers more than 35 Indian brokers, with US and crypto brokers in progress. Analyzer mode runs the entire workflow against a sandbox first, so you can rehearse the clicks without anything reaching the exchange.
For brokers, fintech portals and platform builders
OpenAlgo Charts is a library, not an embed. There is no iframe, no licence key and nothing calling home. You hand it your own data feed and it charts whatever your backend already serves, which means a broker or a portal can assemble its own terminal without asking anyone for permission or paying per seat.
- The chrome is optional. Use the engine on its own and keep your own interface, or call one function and get the whole terminal.
- Branding can be switched off for a white label deployment.
- Saved layouts, indicators and drawings come back as plain JSON, so templates need no extra plumbing.
- The whole library is about 216 KB compressed with zero runtime dependencies, and you load only the parts you use.
- Apache-2.0, so commercial use is allowed.
How to get started
Install it from npm:
npm install openalgo-charts
Or skip the build step entirely and load it from a CDN in a single HTML file:
<div id="chart" style="width:100vw;height:100vh"></div>
<script type="module">
import { createChart } from 'https://unpkg.com/openalgo-charts/dist/openalgo-charts.mjs';
const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
chart.addSeries('candlestick').setData(bars);
</script>
If you want the complete terminal rather than a bare chart, one call gives you the top bar, symbol search, interval pills, the indicator menu, the drawing rail, the status line, the right click menu and layout persistence:
import { createWidget } from 'openalgo-charts/widget';
import 'openalgo-charts/indicators';
const widget = createWidget('#terminal', {
feed: myFeed,
symbol: 'RELIANCE', exchange: 'NSE', interval: '5m',
theme: 'dark',
persist: true,
onOrder: (order) => broker.place(order),
});
What it does not do yet
Worth stating plainly, because a feature list without limits is marketing rather than documentation.
- Footprint and order flow need trade by trade data classified into buys and sells. It is a live session view unless you record ticks yourself.
- Volume profile and market profile are tuned for dark themes and need explicit colours on a light one.
- A second comparison symbol on the same pane shares the first one’s scale, so give further instruments their own pane.
Links and resources
- Project page: openalgo.in/charts
- Source code: github.com/marketcalls/openalgo-charts
- Documentation and live examples: marketcalls.github.io/openalgo-charts
- OpenAlgo source: github.com/marketcalls/openalgo
If you build something on top of OpenAlgo Charts, or you try it against your own data feed and something does not fit, leave a comment. That is the feedback that shapes what gets built next.