briankariuki/number_flow_flutter — explained in plain English
Analysis updated 2026-05-18
Animate a counter, score, or currency amount so only the changed digits roll to their new value.
Display compact or scientific number formats, like turning 1,234,567 into 1.2M, with locale-correct formatting.
Show an animated clock, countdown, or stopwatch driven by a Duration or DateTime.
Drive a live-updating number display from a slider or chart scrubber without rebuilding the whole widget.
| briankariuki/number_flow_flutter | lportals/rolling_text | jiminlee-way/sejongunivmobile | |
|---|---|---|---|
| Stars | 13 | 13 | 14 |
| Language | Dart | Dart | Dart |
| Setup difficulty | easy | easy | moderate |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
number_flow_flutter is a Flutter package for showing numbers on screen that animate smoothly whenever their value changes, similar to an odometer counting up or down. Instead of the whole number just jumping to a new value, only the digits that actually changed roll into place while the others stay still, and the whole display resizes gracefully as the number grows or shrinks digits. The package includes two widgets. NumberFlow handles plain numbers, currency amounts, percentages, and compact or scientific notation such as showing 1,234,567 as 1.2M, with formatting that adjusts correctly for different languages and regions, including right to left text. TimeFlow is built for clocks, countdowns, and stopwatches, and can be fed either individual hour, minute, and second values or a Duration or DateTime object directly. You can customize how the animation looks, choosing between a default easing curve or an iOS style spring effect that overshoots slightly and hands off its motion smoothly if a new value arrives mid animation. There is also an optional motion blur effect that blurs digits while they are rolling quickly and sharpens as they settle, plus a squish effect that compresses a moving digit slightly before it springs back to full width. A separate scrub mode lets you drive the display directly from a rapidly changing value, such as a slider being dragged or a chart being scrubbed, without needing to rebuild the whole widget on every tiny change. Other options include adding a prefix or suffix to the number, controlling whether digits animate upward or downward, limiting individual digit positions to a maximum value, and callbacks that fire when an animation starts or finishes. The widgets also expose a plain text description of the number for screen readers, and they automatically respect the operating system's reduce motion setting so the numbers snap into place instead of animating for users who prefer that. To use it, you add the package to your Flutter project's pubspec.yaml file.
A Flutter package that animates numbers and clocks with digit-by-digit rolling transitions, locale-aware formatting, and optional spring and motion blur effects.
Mainly Dart. The stack also includes Dart, Flutter.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.