Javascript date library alternative to Moment.js with the same modern API

Downloads in past


1.0.05 years ago5 years agoMinified + gzip package size for carbonjs in KB


carbonjs Tweet
Typescript ready date library alternative to Moment.js
Npm Version TypeScript Version Build Status Coverage Status Package Quality Npm Total Downloads Npm Monthly Downloads npm bundle size (minified) npm bundle size (minified + gzip) Open Issues Closed Issues Tested With Jest Known Vulnerabilities Dependencies Status Pull Requests License Github Stars Github Forks
Carbon.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API.

Table of Content

- Installation - Usage
- [API](#api)
- [I18n](#i18n)
- [Plugin](#plugin)


  • :clock3: Familiar Moment.js API & patterns
  • :muscle: Immutable
  • :fire: Chainable
  • :globewithmeridians: I18n support
  • :gear: Plugin support
  • :gear: Calendar support (as part of plugin support)

Getting Started


npm i -s carbonjs



It's easy to use Carbon.js APIs to parse, validate, manipulate, and display dates and times.
import * as Carbon from "carbonjs";

Carbon.parse("2018-08-08"); // parse

new Carbon().format("{YYYY} MM-DDTHH:mm:ss SSS [Z] A"); // display

Carbon.parse().set("month", 3).month(); // get & set

new Carbon().add(1, "year"); // manipulate

Carbon.parse().isBefore(Carbon.parse()); // query


Day.js has great support for internationalization.
But none of them will be included in your build unless you use it.
import "carbonjs/lib/locales/es"; // load locale package on demand

Carbon.locale("es"); // use Spanish locale globally

Carbon.parse("2018-05-05").locale("zh-cn").format(); // use Chinese Simplified locale in a specific instance


A plugin is an independent module that can be added to Day.js to extend functionality or add new features.
import * as advancedFormat from 'carbonjs/lib/plugins/advancedFormat' // load on demand

Carbon.extend(advancedFormat) // use plugin

Carbon.parse().format('Q Do k kk X x') // more available formats

:books:Full API Reference


We use SemVer for versioning. For the versions available, see the tags on this repository.


See also the list of contributors who participated in this project.


This project is licensed under the MIT License - see the LICENSE file for details


If my work helps you, please consider
Become A Patron
Buy Me A Coffee