TimeAdder

Add and subtract time values with ease. Built for podcasters, editors, and anyone who works with durations.

iOS 26+ Swift 5 SwiftUI MIT License Open Source

Overview

TimeAdder is a focused iOS utility for summing and subtracting a list of time values. Each row accepts an optional label and separate hours, minutes, and seconds fields. Any field can be negative, so trimming 30 seconds from a segment is as simple as entering −30 in the seconds column. A live running total updates instantly as you type.

The app was inspired by Allison Sheridan's time-adder project and extended with iOS-native features, full VoiceOver support, and CSV export.

All data is stored exclusively on your device. TimeAdder makes no network requests, contains no analytics, and collects no personal information of any kind.

Features

Add & Subtract Time

Any field — hours, minutes, or seconds — can be positive or negative. Components are independent, so mixed signs work naturally.

🏷️

Optional Row Titles

Label each row (e.g. "Intro", "Main Segment") to keep track of what each time value represents.

⏱️

Live Running Total

The HH:MM:SS total at the bottom updates as you type. Negative totals are shown in red.

📤

Flexible Export

Copy the total, share it as text, or export all rows as a CSV file for use in spreadsheets.

💾

Automatic Persistence

Your entries survive app restarts. No save button needed — changes are persisted automatically.

Full VoiceOver Support

Every interactive element has a descriptive accessibility label. Time values are spoken in natural language.

How to Use

Adding Time Entries

1

Tap "Add Row"

Press the Add Row button at the bottom of the screen to create a new blank entry.

2

Enter a title (optional)

Tap the title field at the top of the row and type a descriptive label for the entry.

3

Fill in the time fields

Tap the HH, MM, or SS fields and enter values. Use a minus sign to subtract that component. All three fields contribute independently to the row total.

4

Watch the total update

The running HH:MM:SS total at the bottom updates in real time as you type.

Mixed Signs

Each component (hours, minutes, seconds) is treated as an independent signed integer and contributes directly to the row total:

💡

Think of each row as a ledger line. Positive values add time; negative values subtract it. The running total is the algebraic sum of all rows.

Managing Rows

Exporting Results

Tap the share icon (↑) in the top-right toolbar to open the Export sheet. Three options are available:

Copy Total

Copies the running total as a plain HH:MM:SS string to the clipboard. Useful for pasting into show notes, scripts, or editing software timelines.

Share HH:MM:SS Total

Opens the iOS share sheet with the formatted total as text. Share it via Messages, Mail, AirDrop, or any other share destination.

CSV Export

Exports all rows and the grand total as a CSV file or raw CSV text. The CSV format is:

TitleHoursMinutesSecondsRow Total
Intro053000:05:30
Main Segment112001:12:00
Trim outro0−1−15−00:01:15
Total01:16:15

CSV fields containing commas or quotation marks are automatically quoted and escaped per RFC 4180.

Accessibility & VoiceOver

TimeAdder is designed to be fully usable with VoiceOver enabled. Every interactive element carries a descriptive accessibility label and, where appropriate, a hint.

Negative values that are displayed in red for sighted users are also communicated through spoken labels — VoiceOver reads "negative" before any negative duration.

🔒

Your privacy is protected

TimeAdder stores your entries locally on your device using iOS standard storage. It makes no network requests, contains no analytics or advertising SDKs, and collects absolutely no personal information. Read the full Privacy Policy →

Technical Details

Requirements

Data Storage

Entries are encoded as JSON and stored in UserDefaults under the key TimeAdder.entries.v1. This storage is local to your device and is included in standard iOS device backups (iCloud or iTunes/Finder). No data is ever transmitted to any server.

No Network Access

TimeAdder contains no network-facing code. It requests no network entitlements and makes no outbound connections of any kind.

Dependencies

None. TimeAdder uses only Apple system frameworks: SwiftUI, Foundation, and UIKit.

Source Code

TimeAdder is open source under the MIT License. The source code is available at github.com/grumptech/timeaddr.