A fast and reliable Chrome extension that allows you to convert between different currencies using real-time exchange rates with advanced features like tax calculation and custom formulas.
- Real-time currency conversion with multiple API fallbacks
- Support for 170+ currencies from reliable sources
- Fallback API system - If one API is down, automatically tries others
- Clean, modern UI with smooth interactions
- Swap currencies with one click
- Enter key support for quick conversion
- Error handling and loading states
- Tax calculation - Add percentage-based taxes to converted amounts
- Custom formula support - Apply custom mathematical formulas to results
- Side-by-side comparison - View base conversion, tax amounts, and custom calculations
- Download or clone this repository
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" in the top right corner
- Click "Load unpacked" and select the folder containing your extension files
- The extension should now appear in your Chrome toolbar
- Click on the extension icon in your Chrome toolbar
- Enter the amount you want to convert
- Select the source currency from the "From" dropdown
- Select the target currency from the "To" dropdown
- Click "Convert" or press Enter to see the result
- Use the swap button (⇄) to quickly switch between currencies
Tax Calculation:
- Check "Add Taxes (%)" to enable tax calculation
- Enter the tax rate as a percentage (e.g., 8.5 for 8.5%)
- The extension will show the tax amount and total with tax
Custom Formula:
- Check "Custom Formula" to enable custom calculations
- Enter a value or simple formula to add to the converted amount
- Examples:
1200(add $1200)-50(subtract $50)100(add $100)500+200(add $700)
- Shows both the formula result and the total (converted amount + formula result)
manifest.json- Extension configurationpopup.html- Extension popup interfacepopup.js- JavaScript functionalitystyles.css- Styling for the popuptests.js- Comprehensive test suitetest-runner.html- Test runner interface
This extension uses multiple currency APIs with automatic fallback:
- Frankfurter API - Free, no authentication required
- ExchangeRate-API - Free tier available
- CurrencyAPI - Free tier available
- If the primary API (Frankfurter) is unavailable, the extension automatically tries the next API
- This ensures the extension continues working even if one service is down
- All APIs are free and don't require API keys for basic usage
- If you see "Error loading currencies", check your internet connection
- If conversion fails, try refreshing the extension or checking the API status
- Make sure you have selected different currencies for conversion
To modify the extension:
- Edit the files as needed
- Go to
chrome://extensions/ - Click the refresh icon on your extension to reload it
- Test your changes
The extension includes a comprehensive test suite:
- Open
test-runner.htmlin your browser - Click "Run Unit Tests" to test core functionality
- Click "Run Scenarios" to see example use cases
- Click "Run All Tests" for complete testing
- ✅ Basic currency conversion
- ✅ Tax calculation with percentage
- ✅ Custom formula addition
- ✅ localStorage persistence
- ✅ Input validation
- ✅ Error handling
- ✅ UI state management
- ✅ Calculation display
- Basic Conversion: Convert 100 USD to EUR
- Tax Calculation: Add 8.5% tax to converted amount
- Custom Formula: Add 1200 to converted amount
- Combined Calculations: Tax + formula together
- Error Handling: Invalid inputs and API errors
- Persistence: Settings saved and restored
This project is open source and available under the MIT License.