RSI calculator
Paste closing prices and compute Wilder's RSI, average gains/losses, latest RSI, and overbought/oversold signal locally.
About this tool
The RSI calculator computes J. Welles Wilder's Relative Strength Index from a pasted series of prices, ordered oldest to newest. It accepts values separated by spaces, commas, semicolons, tabs, or newlines, so you can paste a column from a spreadsheet or a short CSV row directly.
The output JSON includes:
- the RSI value at each input point (
nullduring the warm-up period), - Wilder-smoothed average gains and losses,
- the latest RSI value,
- a latest signal (
overbought,oversold, orneutral) based on your thresholds.
By default the tool uses the standard 14-period RSI with 70/30 overbought/oversold thresholds. Change the period or thresholds to match your strategy or charting package.
All computation happens in your browser; your price series is not uploaded.
FAQ
How many prices do I need for a 14-period RSI?
At least period + 1 — 15 prices for the default 14-period RSI — because the
first RSI value needs 14 price changes. Points before that are reported as
null (the warm-up), and the series is capped at 100,000 data points with a
maximum period of 10,000.
Why doesn't the RSI here match my charting platform exactly?
This tool uses Wilder's original method: the averages are seeded with the
simple mean of the first period gains/losses, then advanced with Wilder's
smoothing avg = (avg_prev · (period − 1) + current) / period. Platforms
that seed differently (or use an EMA-based variant) converge to the same
values but can differ slightly on the earliest readings — feed in more
history and the numbers align.
Does the order I paste the prices in matter?
Yes — the series must be oldest to newest. If you paste a column that's sorted newest-first (as many data exports are), the gains and losses invert and the RSI comes out mirrored. Values can be separated by spaces, commas, semicolons, tabs, or newlines.
What do the overbought/oversold thresholds change?
Only the signal classification of the latest reading. The defaults are the
classic 70/30; both must lie between 0 and 100 with overbought above
oversold. The RSI values themselves are unaffected — RSI is 100 when there
are no losses in the window and 0 when there are no gains.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool rsi-calculator 'prices=44.34,44.09,44.15,43.61,44.33,44.83,45.10,45.42,45.84,46.08,45.89,46.03,45.61,46.28,46.28'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/rsi-calculator/?prices=44.34%2C44.09%2C44.15%2C43.61%2C44.33%2C44.83%2C45.10%2C45.42%2C45.84%2C46.08%2C45.89%2C46.03%2C45.61%2C46.28%2C46.28&period=14&overbought=70&oversold=30Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
