back to home

dinerojs / dinero.js

Create, calculate, and format money in JavaScript and TypeScript

6,686 stars
201 forks
1 issues
TypeScriptJavaScript

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing dinerojs/dinero.js in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/dinerojs/dinero.js)
Preview:Analyzed by RepoMind

Repository Summary (README)

Preview

Dinero.js

npm version npm monthly downloads Used by GitHub stars
TypeScript GitHub Actions NPM

Dinero.js lets you create, calculate, and format money safely in JavaScript and TypeScript.
dinerojs.com


Money is complex, and the primitives of the language aren't enough to properly represent it. Dinero.js is a JavaScript library that lets you express monetary values, but also perform mutations, conversions, comparisons, formatting, and overall make money manipulation easier and safer in your application.

✨ Features

  • Immutable & pure: every operation returns a new object, no side effects
  • Type-safe: first-class TypeScript support with full type inference
  • Tree-shakeable: import only what you use, keep bundles small
  • Pluggable precision: use number by default or bigint for large amounts
  • Non-decimal currencies: support for any base, including multi-subdivision currencies
  • Framework-agnostic: works everywhere JavaScript runs

📦 Install

npm install dinero.js

# or

yarn add dinero.js

⚡️ Quick start

Dinero objects are minimal. Every function in dinero.js is side-effect free, allowing you only to bundle exactly what you use.

import { dinero, add, toDecimal } from 'dinero.js';
import { USD } from 'dinero.js/currencies';

const d1 = dinero({ amount: 500, currency: USD });
const d2 = dinero({ amount: 800, currency: USD });

const total = add(d1, d2);

toDecimal(total); // "13.00"

Check out the quick start guide on the documentation.

📚 Documentation

The documentation lets you learn about all aspects of the library.

  • Getting started to get up and running quickly with Dinero.js
  • Core concepts to learn about the underlying principles behind the library
  • Guides to dig deeper into specific use cases.
  • API for a comprehensive list of available functions and their parameters.
  • FAQ for common answers to questions you might have

Visit the full documentation to know more.

🤖 Agent Skills

If you use AI coding agents (Claude Code, Cursor, GitHub Copilot, etc.), install the Dinero.js skills to teach your agent best practices, common pitfalls, and correct usage patterns.

npx skills add dinerojs/skills

🏢 Used by

Dinero.js is used by WooCommerce, Highlight, Cypress, Vercel, AWS Labs, Module Federation, and many more.

Used by

👥 Contributors

Dinero.js contributors

From v1: Sarah Dayan Yacine Hmito Scott Trinh Rolandas Barysas Luiz Bills Leonardo Dino Roman Komarov Juan Garcia Freddy Robinson Andy Burke Andre Wiggins David DeSandro Max Körlinge Ilia Ermolin Kevin Brown Sean Walker John Nguyen Sudarsan Balaji

📜 License

MIT