MyCalculatorNow calculator library
Free Online Graphing Calculator – TI-84 Style
Graph equations, calculate expressions, explore tables, and solve statistics and matrix problems with a free TI-84-style online graphing calculator.
Color graphs and tables
Enter up to six functions of x, set the graph window, zoom, trace a chosen x value, and compare values in a table. Graphs use numerical sampling; narrow features may be missed. JavaScript is required for interactive calculations.
Scientific calculations
Use parentheses, powers, factorials, logarithms, and trigonometric functions in degrees or radians. For example, 2+3*4 equals 14, and sin(30) in degree mode equals 0.5.
Statistics and matrices
Analyze number lists, fit a least-squares straight line to paired lists, and calculate matrix sums, products, transposes, determinants, and inverses.
Scope and limitations
This TI-84-inspired tool is independent of Texas Instruments. It does not run TI programs, load ROMs, or reproduce all TI-84 Plus CE features. Calculations use JavaScript floating-point arithmetic, not symbolic algebra.
Use results responsibly
Calculations are educational estimates. Keep your units and inputs visible, check important results against authoritative sources, and seek qualified professional advice for decisions involving health, money, law, construction, or safety.
How to use the scientific & graphing calculator
Complete user manual for this website’s TI-84-style calculator. Enable JavaScript for the interactive controls; the manual can be read without it.
1. Quick start: your first calculation and graph
This page combines a scientific expression calculator, six-function color graph, value table, list statistics, linear regression, and matrix calculator. No installation, account, firmware, or ROM is required. JavaScript must be enabled to use the interactive tools.
The page opens in RAD (radian) mode with Y1 = x^2 and Y2 = sin(x) as graph examples. These are editable examples, not saved work. The graph starts with both axes running from −10 to 10.
- Find Expression in the Calculator section. Type 2+3*4, then press Enter on your keyboard or click =. The result is 14.
- Select DEG if you want trigonometric angles in degrees. Type sin(30), then press Enter. The result is 0.5.
- In Graph, replace Y1 with x^2-4. Keep Y1 enabled and uncheck Y2 to see the parabola alone. The graph updates as you edit.
- Enter 3 in Trace at x and click Trace. The displayed value is Y1(3) = 5. A colored point appears if that point is inside the current graph window.
- Scroll to Value table. Set Start x to 0 and Step to 1. The first three Y1 values are −4, −3, and 0 at x = 0, 1, and 2.
Note: Use the contents links below to jump directly to a topic. The Home link at the top returns to the main calculator library.
2. Entering expressions and using the keypad
Type into Expression or use the on-screen keypad. Keypad insertion occurs at the text cursor, replacing selected text if there is a selection. You can move the cursor, select part of an expression, and use normal keyboard editing.
A function key such as sin, log, or sqrt inserts the function name and an opening parenthesis. Enter its argument and supply the closing parenthesis yourself. For example, click sqrt, enter 16, click ), then =.
DEL removes the selection or the character immediately before the cursor. CLR clears the expression and its current error message; it does not reset Ans or erase history. Pressing Enter in Expression and clicking = perform the same calculation.
Worked example
Input: (12+8)/5
Result: 4
Parentheses group the addition before division.
Worked example
Input: sqrt(16)+3!
Result: 10
The square root is 4 and 3 factorial is 6.
Worked example
Input: abs(-7)+floor(2.9)
Result: 9
Absolute value gives 7; floor gives 2.
Note: Only click = after an expression is complete. A missing closing parenthesis is an error, not a request to auto-complete the expression.
3. Operators, precedence, constants, and supported syntax
Supported arithmetic is +, −, * (or ×), / (or ÷), and ^ for powers. Use parentheses to make grouping explicit. Factorial (!) and percentage (%) are postfix operators placed after a value.
Powers are evaluated before a leading minus: -2^2 is −4, while (-2)^2 is 4. Powers associate from right to left: 2^3^2 means 2^(3^2), giving 512. Multiplication and division precede addition and subtraction; within each of those pairs, evaluation is left to right.
The constants pi (or π) and e represent π and Euler’s number. Function and constant names are case-insensitive. Scientific notation is supported: 1e-3 means 0.001. Use an explicit * when writing potentially ambiguous expressions.
Implicit multiplication is accepted, such as 2x, 3(x+1), and 2pi. For clarity, write 1/(2*x) if the entire product belongs in a denominator; 1/2*x means (1/2)*x.
Supported functions are sin, cos, tan, asin, acos, atan, sqrt, abs, ln, log, exp, floor, and ceil. Every function requires parentheses. ln is the natural logarithm; log is base 10; exp(x) means e^x. This tool uses decimal numeric inputs and floating-point results, not symbolic simplification.
Worked example
Input: 2^3^2
Result: 512
The right-hand exponent is evaluated first.
Worked example
Input: log(100)+ln(e)
Result: 3
log(100) is 2 and ln(e) is 1.
Worked example
Input: 50%*80
Result: 40
% always divides the preceding value by 100; it is not a contextual shopping-calculator percent key.
Worked example
Input: 5!
Result: 120
Factorial requires a whole number from 0 through 170; 0! is 1.
Note: Write decimals with a period. A comma is not a thousands separator or decimal separator in an expression. A single expression may contain at most 500 characters.
4. Degrees, radians, and inverse trigonometry
RAD is the default. Choose DEG for angles measured in degrees; choose RAD for radians. The selected button is highlighted. This setting is shared by the expression calculator, all enabled graphs, trace results, and the value table.
sin, cos, and tan interpret their arguments in the selected unit. asin, acos, and atan return angles in the selected unit. Changing mode redraws trigonometric graphs and recalculates trace and table values. It does not rerun past calculator history; evaluate the expression again to get a new calculator result.
Inverse sine and cosine require inputs between −1 and 1. Tangent near its asymptotes may produce very large numbers because of floating-point rounding. Do not treat a large finite result near 90° or π/2 as proof that tangent is mathematically defined there.
Worked example
Input: sin(30) in DEG
Result: 0.5
A 30-degree angle.
Worked example
Input: sin(pi/6) in RAD
Result: 0.5
The same angle expressed in radians.
Worked example
Input: asin(0.5) in DEG
Result: 30
The principal inverse-sine angle is 30 degrees.
Note: A trig result that seems wrong is often an angle-mode mismatch. Check the highlighted RAD/DEG button before changing your expression.
5. Reusing answers and calculation history
Ans stores the last successful expression-calculator result. Enter Ans by typing its name or clicking the Ans key. It initially equals 0. A calculation error leaves the previous successful Ans unchanged.
History holds up to 30 successful calculations in this page session, newest first. Select a history line to copy its expression back into the input. Selecting a line does not evaluate it or restore the old answer as Ans; press Enter or = to run it again.
An expression recalled from history that contains Ans uses the current Ans when rerun, not the answer that was current when the history entry was first created. Past history entries keep their recorded results when angle mode changes.
Clear history removes the recorded lines but leaves the expression and stored Ans available. It also removes the most recent line from the result display. CLR clears the expression rather than the history.
- Calculate 12*8 to store Ans = 96.
- Enter Ans/4 and calculate again. The answer is 24 and Ans becomes 24.
Note: Ans is intended for the expression calculator. Graphs, tables, statistics, and matrix results do not update it. Use explicit numbers rather than Ans in graph functions.
6. Entering and comparing color graphs
Each Y row is a function y = f(x). Y1 through Y6 have distinct colors and labels, so you can identify each curve. Enter only the right-hand expression, such as x^2-4; do not enter y= or Y1=.
Check the box beside a function to enable it. An enabled, non-empty function appears on the graph and in the table. Unchecking it hides it without deleting its expression. Entering text in an unchecked row does not enable it automatically.
The graph updates while you type. An incomplete expression may temporarily show an error until you finish it. If one function is invalid, the other valid enabled functions can still plot.
Use x as the independent variable. Functions cannot reference Y1 or another Y function. To compare x^2 and 2*x+1, enter each expression in a different enabled row.
- Enter x^2-4 in Y1 and 2*x+1 in Y2.
- Enable both boxes. Match each curve to the color beside its Y label.
- Temporarily uncheck Y2 to examine Y1 alone; recheck it to restore the comparison.
Note: Only explicit Cartesian functions of x are supported. Polar, parametric, implicit equations, and inequalities are not available.
7. Setting the window, zooming, and reading axes
Xmin and Xmax specify the left and right edges of the graph. Ymin and Ymax specify its bottom and top. Changing these input fields does not commit a new window until you click Apply window or press Enter in a window field.
All four bounds must be finite, within ±1,000,000,000, with each minimum less than its maximum. Each axis span must be between 0.000001 and 1,000,000. Invalid bounds show an error and preserve the previous valid graph window.
Zoom in halves both axis spans around the center of the current window. Zoom out doubles them. Neither zoom operation changes your functions. Reset window (-10 to 10) restores the original range on both axes and updates the bound fields.
The grid labels show numeric coordinate values. The x-axis (y = 0) and y-axis (x = 0) are shown only when zero is within the corresponding range. The graph panel is rectangular, so equal numeric distances along x and y do not necessarily occupy equal screen distances.
- For a closer view of x^2-4, set Xmin = -5, Xmax = 5, Ymin = -6, and Ymax = 10.
- Click Apply window. Use Zoom in once to inspect the center more closely.
- Click Reset window (-10 to 10) to return to the default range.
Note: If a curve seems absent, check that its box is enabled, its expression is valid, and its values fall within your y range.
8. Tracing a function at a chosen x value
Trace at x calculates the y value for every enabled, non-empty function at one specific x. Enter a finite number and click Trace, or press Enter in the trace field. This is a numerical trace, not a movable hardware-calculator cursor.
Each result is labeled with its Y number. A colored marker appears when the traced point is inside the current window. A point outside the window can still have a valid numerical result, even though its marker is not visible.
If a function is undefined at the trace input, its row displays an explanation instead of a number. For example, 1/x at x = 0 is undefined. Changing a function or angle mode updates the values for the last applied trace x.
Trace does not automatically find roots, maxima, minima, or intersections. You can investigate them by choosing x values and checking the results. For a root, the function’s value should be zero or sufficiently close for your purpose.
Worked example
Input: Y1 = x^2-4; trace x = 3
Result: Y1(3) = 5
3 squared minus 4 is 5.
Worked example
Input: Y1 = x^2-4; trace x = 2
Result: Y1(2) = 0
This confirms that x = 2 is a root for this example.
9. Building and interpreting the value table
The table uses the same enabled functions and angle mode as the graph. Set Start x to the first x value and Step to the spacing between consecutive rows. The table updates automatically and always shows 20 rows.
Row r uses x = start + r × step, where r runs from 0 through 19. A negative step produces descending x values. Step must be finite and non-zero, with magnitude at most 1,000,000; Start x must be finite and within ±1,000,000,000.
A table cell says Undefined where a function has no finite value, such as sqrt(x) for a negative real x or 1/x at zero. A malformed function also displays its parsing error above the table.
On a narrow screen, scroll inside the table to see all enabled Y columns. You can change Start x to examine another 20-row interval; there is no table pagination or table download control.
Worked example
Input: Y1 = x^2-4; Start x = 0; Step = 1
Result: x: 0, 1, 2, 3 → Y1: −4, −3, 0, 5
These values help connect the curve to individual coordinates.
10. One-variable statistics: mean, median, and spread
Enter a list in List L1, using commas, spaces, semicolons, or newlines between values. All entries must be finite numbers. A list must contain 1 through 1,000 entries. Do not include labels, units, or thousands separators.
Click Calculate statistics to compute the result. Load example fills a sample list but does not calculate it for you. After editing a list, click Calculate statistics again; an existing result describes the last submitted list, not unsent edits.
n is the number of entries and Sum is their total. Mean is the sum divided by n. Median is the middle value after sorting; with an even number of values, it is the average of the two middle values. Min and Max are the smallest and largest values.
Population SD divides the sum of squared deviations from the mean by n before taking the square root. Use it when the list is the whole population you want to describe. Sample SD uses n−1 instead and is commonly used when estimating variability from a sample. Sample SD is Not defined for a one-entry list.
Worked example
Input: 1, 2, 3, 4, 5
Result: n = 5; Sum = 15; Mean = 3; Median = 3; Min = 1; Max = 5
Population SD ≈ 1.41421356237; Sample SD ≈ 1.58113883008.
Note: Repeated entries count as repeated observations. The tool does not support a separate frequency/weight list, quartiles, or hypothesis tests.
11. Paired-list linear regression
Enter matching X list and Y list values in the same observation order. The first X pairs with the first Y, the second X with the second Y, and so on. Both lists must have the same length and contain at least two observations.
Click Run regression to fit the least-squares line y = a·x + b. Slope a is the estimated change in y for a one-unit increase in x. Intercept b is the fitted y when x = 0; that value may not be meaningful if zero is far outside the observed data.
r is the Pearson correlation coefficient, ranging from −1 to 1 when defined. R² is the squared correlation for this straight-line fit. Correlation does not establish causation, and a high R² does not guarantee accurate predictions outside the data range.
If all X values are equal, the slope cannot be fit and the tool shows an error. If all Y values are equal, the fit is horizontal, but r and R² are Not defined because Y has no variation. Lists use the same numeric separators and 1,000-entry limit as one-variable statistics.
The regression does not automatically plot its fitted line. To compare it on the graph, type the fitted expression into an enabled Y row. Use numerical coefficients, not the parameter letters a and b.
- Enter X list: 1, 2, 3 and Y list: 3, 5, 7.
- Click Run regression. The slope is 2, intercept is 1, r is 1, and R² is 1.
- Enter 2*x+1 in a Y row to graph that fitted line. At x = 4 the line predicts y = 9.
Note: Editing a list or clicking Load example does not rerun the fit. Click Run regression again to refresh its displayed coefficients.
12. Entering matrices and choosing an operation
Matrix A and Matrix B accept numbers separated by spaces or commas within a row. Separate rows with a newline or semicolon. Every row in a matrix must have the same number of entries. Matrices may be rectangular, up to 6 rows by 6 columns.
Enter numbers only, without brackets, row labels, or expressions such as 1/2. Enter 0.5 instead. The displayed starting matrices are examples you may replace. An operation button performs the calculation; edits alone do not refresh an old result.
A+B and A−B require identical dimensions. A×B requires the number of A columns to equal the number of B rows. Multiplication is the matrix product, not element-by-element multiplication. Matrix order matters: A×B need not equal B×A.
A transpose swaps rows and columns and does not use B. det(A) and A inverse use A only and require A to be square. The determinant is a scalar. A inverse returns A⁻¹; a singular matrix has no inverse and produces an explicit error.
Worked example
Input: A: 1,2;3,4 B: 5,6;7,8
Result: A+B = [6,8;10,12] A×B = [19,22;43,50]
Each semicolon represents a new matrix row.
Worked example
Input: A: 1,2;3,4
Result: det(A) = −2 A⁻¹ = [−2,1;1.5,−0.5]
A transpose is [1,3;2,4]. The inverse satisfies A×A⁻¹ = the identity matrix, within floating-point precision.
Note: Inverse calculations use numerical elimination. Very small pivots or poorly conditioned matrices may be rejected or lose precision; use a specialist tool for precision-sensitive linear algebra.
13. Error messages and troubleshooting
Unexpected input usually means an unsupported name, symbol, or incomplete expression. Missing closing parenthesis means an opening parenthesis was not closed. Function names such as sin require an argument in parentheses.
Undefined or out of range means the calculation did not produce a finite real number. Check division by zero, square roots of negative numbers, non-positive logarithm inputs, or extremely large powers. An error does not overwrite the last valid Ans.
No defined values in this window means the sampled x values produced no plot-ready points. Check the function’s domain and your window. A curve outside the visible y range can also look absent without a syntax error.
For statistics and regression, confirm that each entry is a number and the two regression lists have the same length. For matrices, verify equal row lengths, correct dimensions for the selected operation, and square A for determinant or inverse.
If a control seems not to have refreshed a result, remember which tools require a button: expressions require Enter/=; window edits require Apply window; trace requires Trace; statistics, regression, and matrices require their operation buttons. Graph expressions and the value table update automatically.
Note: Changing inputs after calculating may leave a previous valid result visible. Submit the revised input before treating that result as current.
14. Guided practice: a complete learning workflow
This exercise connects the expression calculator, graph, trace, table, statistics, and matrices. It also gives you small hand-checkable results to confirm that you understand each tool.
- Calculate (3^2-4). The answer is 5. Then calculate Ans+5 to get 10.
- Set Y1 to x^2-4, enable it, and disable the other Y rows. Use the default window to see the parabola.
- Trace x = -2, then 0, then 2. The results are 0, −4, and 0, identifying two roots and the lowest point in this example.
- Set Start x = -2 and Step = 1. The first five table values are 0, −3, −4, −3, and 0.
- Enter those five values into List L1 and calculate statistics. The sum is −10, mean is −2, and median is −3.
- Enter A as 1,2;3,4 and click det(A). Confirm −2. Click A inverse and check the inverse against the example in the matrices chapter.
- When finished, use the contents links to revisit a topic or Back to calculator to return to the page’s main controls.
15. Accuracy, limits, saved work, and TI compatibility
This is an independent TI-84-inspired educational tool, not an official Texas Instruments product, firmware emulator, or exact physical-device replica. It does not load ROMs, run TI-BASIC programs, or reproduce every TI-84 Plus CE function or keystroke. Do not assume it meets an exam’s approved-calculator rules.
Arithmetic uses JavaScript floating-point numbers. Results are displayed with up to 12 significant digits. Rounding, overflow, and loss of precision can occur, particularly for extreme values or poorly conditioned matrices. It does not provide exact symbolic algebra, complex-number arithmetic, calculus operators, or automatic equation solving.
Graphs sample 641 points per enabled function, rather than every possible x. Undefined points and large jumps break the drawn line, but discontinuities, very narrow features, and oscillations can still be missed or misrepresented. Use trace, the table, a different window, and independent mathematics to confirm a visual conclusion.
Calculator state and history are held in memory for the current page session. Reloading the page or navigating away resets expressions, functions, lists, matrices, settings, results, and history to their initial state. This calculator does not provide save/export controls. Copy important inputs and results elsewhere before leaving.
Calculations are performed locally in your browser rather than submitted to a calculation server. The site’s normal advertising and privacy policies still apply; local calculation is not a claim that the website performs no network activity.
Note: For high-stakes financial, engineering, or academic work, check important results independently and follow any applicable calculator-use rules.