Calculin is a free, open-source mathematics platform designed to make advanced math easier to understand.
Instead of giving you only the final answer, Calculin focuses on step-by-step solutions, interactive visualizations, and useful mathematical tools — all in one place.
Whether you're working on calculus, algebra, matrices, complex numbers, graphing, or number theory, Calculin gives you the tools to solve, visualize, and understand the problem.
🎓 Don't just get the answer. Understand the solution.
No installation. No login. No account. No external APIs. Just open and start calculating.
| Home Page | 3D Graph |
|---|---|
![]() |
![]() |
| All 14 tools in one place | Interactive 3D Graphing |
Every tool comes with full step-by-step working, and any result can be exported as LaTeX.
| Tool | Description |
|---|---|
| 🧮 Derivative Solver | Calculate derivatives with step-by-step solutions |
| ∫ Integration Solver | Solve definite and indefinite integrals |
| 📐 Calculus+ | Partial derivatives, extrema (1D & 2D), double integrals |
| ∞ Limits Calculator | Evaluate limits, including one-sided limits and infinity |
| 🔢 Equation Solver | Solve linear, quadratic & polynomial equations — includes 3D implicit surface plotting |
| 🔲 Matrix Calculator | Determinants, inverses, rank, Cramer's rule, and more |
| 🧠 Complex Calculator | Full complex number arithmetic |
| 🔄 Number Systems | Binary, octal, decimal, and hexadecimal conversions |
| 🌐 Graph Plotter | Plot functions in 2D, or visualize surfaces in 3D (Three.js) |
- 🧠 Step-by-step solutions — understand the calculation, not just the result
- 🌐 2D & 3D graphing — powered by Three.js, including implicit surfaces
- 📝 LaTeX export — copy any result straight into academic work
- ⌨️ Math keyboard — no need to memorize input syntax
- 🌙 Dark & light themes
- 📱 Fully responsive — desktop, tablet, and mobile
- ⚡ Fast & client-side — calculations run directly in your browser
- 🔒 No login required — no tracking — no external APIs
- 🆓 Free & open source
calculin/
├── src/
│ ├── components/ # All math tool components
│ │ ├── DerivativeSolver.tsx
│ │ ├── IntegrationSolver.tsx
│ │ ├── GraphPlotter.tsx
│ │ ├── Graph3D.tsx
│ │ ├── MatrixCalculator.tsx
│ │ ├── MathInput.tsx # Math keyboard input field
│ │ ├── MathKeypad.tsx # On-screen math keyboard
│ │ ├── ui/ # shadcn/ui primitives
│ │ └── ...more
│ │
│ ├── routes/ # TanStack Router pages
│ ├── lib/ # Math engine & utilities
│ │ ├── math-solver.ts
│ │ ├── math-format.ts
│ │ ├── number-format.ts
│ │ └── utils.ts
│ │
│ ├── contexts/ # Settings & theme context
│ └── hooks/ # Custom React hooks
│
├── index.html
├── vite.config.ts
└── package.json
This project isn't currently accepting pull requests. If you run into a bug, please open an issue with:
- What you were trying to do
- What happened instead
- Steps to reproduce (if possible)
Have an idea instead? Request a feature →
Calculin is released under the MIT License — free to use, modify, and distribute.
If you find Calculin useful, consider giving the project a ⭐ on GitHub. It helps the project grow and motivates future development.

