formkit/tempo

📆 Parse, format, manipulate, and internationalize dates and times in JavaScript and TypeScript.

TypeScript

2,585

264 commits

updated Jul 1, 2026

See the code

README

TEMPO

Vitest GitHub Sponsors NPM Version

Tempo — The easiest way to work with dates in JavaScript (and TypeScript)

Tempo is a new library in a proud tradition of JavaScript date and time libraries. Inspired by the likes of moment.js, day.js, and date-fns Tempo is built from the ground up to be as small and easy to use as possible.

Tempo is best thought of as a collection of utilities for working with Date objects — an important distinction from other libraries that provide custom date primitives. Under the hood, Tempo mines JavaScript's Intl.DateTimeFormat to extract complex data like timezones offsets and locale aware date formats giving you a simple API to format, parse, and manipulates dates.

Tempo is tiny tree-shakable framework, you can only take what you need. You can work with timezones with only a few bytes of library code, or perform full international date formatting for ~2Kb (minified and brotlied). Size Limit controls the size.

Development

Install from the repository root with pnpm:

corepack enable
pnpm install

Build the library:

pnpm build

Build the docs app:

pnpm docs-build
Read the docs

Created by the FormKit team.

date
date-formatting
datetime
javascript
time
time-formatting
typescript

formkit/tempo

📆 Parse, format, manipulate, and internationalize dates and times in JavaScript and TypeScript.

TypeScript

2,585

264 commits

updated Jul 1, 2026

See the code

README

TEMPO

Vitest GitHub Sponsors NPM Version

Tempo — The easiest way to work with dates in JavaScript (and TypeScript)

Tempo is a new library in a proud tradition of JavaScript date and time libraries. Inspired by the likes of moment.js, day.js, and date-fns Tempo is built from the ground up to be as small and easy to use as possible.

Tempo is best thought of as a collection of utilities for working with Date objects — an important distinction from other libraries that provide custom date primitives. Under the hood, Tempo mines JavaScript's Intl.DateTimeFormat to extract complex data like timezones offsets and locale aware date formats giving you a simple API to format, parse, and manipulates dates.

Tempo is tiny tree-shakable framework, you can only take what you need. You can work with timezones with only a few bytes of library code, or perform full international date formatting for ~2Kb (minified and brotlied). Size Limit controls the size.

Development

Install from the repository root with pnpm:

corepack enable
pnpm install

Build the library:

pnpm build

Build the docs app:

pnpm docs-build
Read the docs

Created by the FormKit team.

date
date-formatting
datetime
javascript
time
time-formatting
typescript

Project health

Latest release

1.1.0 · May 8, 2026

Releases this year

2

Significant stargazers

(top 24 of 34)

唯然

445 followers · starred Feb 2024

OJ Kwon

600 followers · starred Feb 2024

Harlan Wilton

1,187 followers · starred Feb 2024

Kristijan Husak

358 followers · starred Feb 2024