Floating Timers & Stopwatches for productivity with SOLID architecture
Users
13
−4 in 30 days
Rating
0.0 / 5
unchanged in 30 days
Ratings
0
0 in 30 days
Store rank
#177K
#148K among extensions
Version
1.1.2
updated 13 Mar 2026
Users
monthly, 3 years
Latest, 17 Oct 2026:13 usersMove the mouse over the chart for any month
Ratings count
monthly, 3 years
Latest, 17 Oct 2026:0 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About DsCrono
# DsCrono - Product Listing for Chrome Web Store
**Name:** DsCrono - Floating Timers & Stopwatches
**Short Description:**
Floating countdowns, target-hour timers, and stopwatches that stay visible on any page.
**Long Description:**
DsCrono is a productivity extension for Chromium-based browsers that lets you create floating timers and stopwatches directly on top of any website. Use it for Pomodoro sessions, meetings, focus blocks, cooking, handoffs, or any workflow where you need visible time tracking without leaving the page.
**CURRENT HIGHLIGHTS:**
* **Countdown mode:** Create classic countdown timers with optional sound and browser notifications.
* **Target-hour mode:** Count down to a specific wall-clock hour, then keep counting after zero while the finished visual state stays active.
* **Open target mode:** Leave the target clock empty and DsCrono creates an open-ended count-up timer with no automatic finish.
* **From Zero mode:** Start a stopwatch at `00:00:00` immediately.
* **Safe rollover confirmation:** If the selected target hour already passed today, DsCrono asks whether it should schedule the timer for tomorrow at that same hour.
* **Stable IDs:** `createTimer` returns the generated `id`, making later stop requests deterministic.
* **Consistent expiration:** Finished timers keep their visual end state even when sound is disabled.
**KEY FEATURES:**
* **Floating overlay:** Timers stay visible on top of the current page.
* **Multiple timers:** Run several independent timers and stopwatches at once.
* **Target workflows:** Count down to a target hour, keep counting after zero, or stay open-ended in `Open target`.
* **All Pages mode:** Keep a timer visible across every tab, or restrict it to the current tab.
* **Custom appearance:** Choose location, size, font, text color, background color, and stacking direction.
* **Native alerts:** Use browser notifications and optional sound so important timers do not get missed.
* **Dedicated close button:** Each floating timer includes an `X` button that stops it through the same background API used by integrations.
* **Developer API:** Create, inspect, and stop timers programmatically.
**FOR DEVELOPERS:**
DsCrono exposes an external messaging API so other tools can create timers, check extension health, and stop timers programmatically. Popup flows and external integrations share the same background entrypoint.
**Example: Create a countdown**
```javascript
chrome.runtime.sendMessage("pgkfhmfoobanlbfcfkifecdanbobfaof", {
action: "createTimer",
payload: {
title: "Work Session",
duration: 1500,
backgroundColor: "blue",
displayAlert: true
}
}, (response) => {
console.log(response); // { success: true, id: 123 }
});
```
**Example: Create a stopwatch from zero**
```javascript
chrome.runtime.sendMessage("pgkfhmfoobanlbfcfkifecdanbobfaof", {
action: "createTimer",
payload: {
title: "Project Tracking",
fromZero: true,
backgroundColor: "green",
allPages: true
}
}, (response) => {
console.log(response.id);
});
```
**Example: Create a target-hour timer**
```javascript
const target = new Date();
target.setHours(15, 30, 0, 0);
if (target.getTime() < Date.now()) {
target.setDate(target.getDate() + 1);
}
chrome.runtime.sendMessage("pgkfhmfoobanlbfcfkifecdanbobfaof", {
action: "createTimer",
payload: {
title: "Target: 15:30:00, Handoff",
target: true,
targetTime: target.getTime(),
displayAlert: true,
sound: true
}
}, (response) => {
console.log(response.id);
});
```
If the current time is `05:30:00` and the target is `06:30:00`, DsCrono starts at `01:00:00`, reaches `00:00:00` once, triggers the finished-timer flow, and then continues as `00:00:01`, `00:00:02`, `00:00:03` while keeping the expired visual state.
**Example: Stop a timer by ID**
```javascript
chrome.runtime.sendMessage("pgkfhmfoobanlbfcfkifecdanbobfaof", {
action: "stopTimer",
payload: { id: 123 }
});
```
**Legacy stop by title**
```javascript
chrome.runtime.sendMessage("pgkfhmfoobanlbfcfkifecdanbobfaof", {
action: "stopTimer",
payload: { title: "Work Session" }
});
```
If both `id` and `title` are provided, DsCrono uses `id`. If only `title` is provided, DsCrono removes the first exact title match.
**Supported properties reference:**
| Property | Description | Default / Behavior |
| :---------------------------- | :---------------------------------------------------------------------------- | :----------------------------------------- |
| `title` - | Timer name | `"External Timer"` |
| `duration` - | Countdown duration in seconds | `300` if no other time data |
| `target` - | Enables target-hour mode | `false` |
| `targetTime` | Absolute target timestamp ( hh:mm:ss) | Optional |
| `fromZero` | Start counting up from `00:00:00` | `false` |
| `location` | Screen corner | Inherits saved user default |
| `direction` | Stack orientation | Inherits saved user default |
| `size` | `small`, `medium`, `large` | Inherits saved user default |
| `font` | Font family name | Inherits saved user default |
| `fontColor` | CSS text color …
Growth
Window
Users
Change
Ratings
Rating
7 days
−2
−13.3%
0
0.00
30 days
−4
−23.5%
0
0.00
6 months
+3
+30.0%
0
0.00
Chrome Web Store search rankings
Where DsCrono appears when people search the store, with the 30 day change