A lightweight, zero-dependency currency conversion library for JavaScript and TypeScript, designed as a modern successor to money.js.
Cashify is a lightweight JavaScript library for converting amounts between different currencies using provided exchange rates. It solves the problem of outdated currency conversion tools by offering a modern, well-maintained alternative with TypeScript support and zero dependencies. The library handles common conversion scenarios while avoiding floating-point precision issues through smart rounding or optional Big.js integration.
JavaScript and TypeScript developers who need to perform currency conversions in their applications, particularly those migrating from money.js or requiring reliable financial calculations.
Developers choose Cashify because it's a actively maintained, TypeScript-first library with a simple API, no runtime dependencies, and easy migration from money.js. Its integration with Big.js for arbitrary-precision arithmetic and built-in parsing capabilities provide flexibility and accuracy for financial applications.
💸 Lightweight currency conversion library, successor of money.js
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fully typed from the ground up, providing excellent IDE support and type safety for currency conversions, as highlighted in the README's features.
Has no external dependencies, ensuring minimal bundle size and avoiding version conflicts, which is explicitly stated as a key feature.
Offers a straightforward migration path with similar API patterns and clear code comparisons in the README, easing upgrades from the outdated library.
Automatically detects currencies from formatted strings like '10 EUR to GBP', reducing manual input handling, as demonstrated in the parsing section.
Requires manual provision of exchange rates from external APIs, adding complexity for applications needing real-time or updated rates.
Only supports ES modules and mandates Node.js 24 or higher, excluding projects using CommonJS or older Node versions without transpilation workarounds.
Relies on a simple rounding trick for floating-point issues; for guaranteed arbitrary precision, an optional Big.js dependency is needed, as admitted in the README.