A modern, free, and open-source mortgage calculator built with React. No signup required, no personal data collected.
- Mortgage Types: Supports Fixed, Variable, and Mixed-rate mortgages
- Real-time Calculation: Instant updates as you adjust parameters
- Offer Comparison: Save and compare multiple mortgage offers side-by-side
- Smart Badges: Automatically highlights "Best Option" (lowest total cost) and "Lowest Payment"
- Interactive Charts: Visualize debt evolution and interest vs principal breakdown
- Expense Breakdown: Detailed breakdown of purchase costs (taxes, notary, registry, etc.)
- Spanish Market Focus: Tailored for Spanish mortgage products with Euribor integration
- Privacy First: 100% client-side, no backend, no cookies, no tracking
Coming soon
- Node.js 22+
- npm or yarn
# Clone the repository
git clone https://github.com/yourusername/cuota.git
cd cuota
# Install dependencies
npm install
# Start development server
npm run devThe app will be available at http://localhost:5173
npm run build- Framework: React 19
- Build Tool: Vite 6
- Styling: Tailwind CSS 4
- Charts: Chart.js + react-chartjs-2
- Icons: Lucide React
src/
βββ components/
β βββ Calculator.jsx # Main calculator orchestrator
β βββ InputSection.jsx # User input controls (sliders, toggles)
β βββ ResultsSection.jsx # Results display with charts
β βββ ComparatorSection.jsx # Offer comparison table
βββ utils/
β βββ mortgageCalculations.js # Core calculation logic
βββ App.jsx # Root component
βββ main.jsx # Entry point
βββ index.css # Global styles
Uses the standard amortization formula:
M = P * [r(1+r)^n] / [(1+r)^n - 1]
Where:
- M = Monthly payment
- P = Principal (loan amount)
- r = Monthly interest rate
- n = Total number of payments
For mixed-rate mortgages, the calculator:
- Applies the fixed rate for the initial period
- Recalculates the monthly payment when switching to the variable rate
- Uses the remaining balance and remaining term for the new calculation
The "Best Option" badge is awarded based on the true total cost:
- Sum of all payments from the amortization schedule
- Plus initial expenses (taxes, notary, registry, etc.)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and available under the MIT License.
- Inspired by the need for transparent mortgage calculators in Spain
- Built with modern web technologies for the best user experience
Made with β€οΈ for homebuyers everywhere