Open SitOpen Sit 1.0 · New in Timefully 5.11

An open format for meditation history

Your practice history belongs to you.

With Timefully 5.11, we’re releasing Open Sit 1.0: an open format for your meditation history. A readable file you can keep and carry between compatible apps and platforms.

An open circular garden doorway and a stepping-stone path into the hills, with a journal beside the entrance
A little file. A continuing practice..opensit.json

Human-readable by design

A file you can keep

No file upload needed

More freedom for your practice

Keep the history.
Open the possibilities.

The time you spent practising has value beyond the app that recorded it. An open format gives that history somewhere to go.

01

Bring your beginnings.

The five-minute sits. The months you found your rhythm. Open Sit is designed to help you bring that history into your next chapter, wherever you first recorded it.

02

Move on your own terms.

Keep a readable backup. Move your history between Timefully on iOS and Android. Take your practice log with you when you choose a compatible tool.

03

Make something of it.

Your own charts. A personal practice journal. A new meditation timer. A documented format gives developers a shared starting point, and gives you more ways to use your history.

Open Sit 1.0 is open for other developers to adopt. Timefully 5.11 on iOS and Android are its first app implementations. Every import and export is included for everyone.

Try Open Sit, right here

A little file.
A lot of possibility.

Convert an Insight Timer session-log CSV or check an Open Sit file against the 1.0 specification. Everything happens in your browser. You can start with a sample.

Files stay in your browser

A new home for your session log.

Choose the meditation session log you exported from Insight Timer (CSV), or drop it here. Up to 10 MB.

Timefully is not affiliated with or endorsed by Insight Timer.

Insight Timer session-log CSV files have no time zone. We start with your browser’s zone; choose the zone where you practised if needed. A single zone may not fit a log recorded while travelling. Open Sit timestamps keep their own offsets.

Or paste file contents

The tool reads files in memory on your device. File contents and filenames are not uploaded, saved to this website, or sent to analytics. Clear the file or close this page to discard it. Downloads remain on your device.

Also new in Timefully 5.11

Bring your history.
Begin from here.

The new Import Sessions hub puts three ways to bring your history into Timefully in one place. Open it from the menu, next to Activity History.

01 / FROM A FILE

The log you already have.

Open Sit, Timefully CSV, or an Insight Timer session-log CSV. Preview what’s coming in, with a clear count of new, duplicate, and unreadable sessions.

02 / FROM HEALTH

The sits on your phone.

Apple Health on iOS. Health Connect on Android. Import mindful sessions that other apps saved there, with your permission and their source preserved.

03 / FROM TIMEFULLY

Your next device.

Export an Open Sit file from Timefully on iOS or Android, then import it on the other. Your session history travels in the same documented format.

In Timefully 5.11, every import and export is free. Preview sessions, check duplicates, and remove an import if you change your mind. Imported history counts toward streaks and statistics; trees grow from new practice. Statistics and the archive beyond 60 days remain Pro features.

For the people building what comes next

A small format.
Room for new ideas.

Open Sit uses JSON: ordinary text that software can read, too. Version 1.0 is designed around portable session history, optional detail, and a source for every sit.

Open Sit 1.0 · Frozen , CC0 1.0. Additions stay within 1.x; a breaking change would be 2.0. Timefully 5.11 on iOS and Android are the first app implementations; the browser tools above read and write 1.0.

minimal.opensit.jsonOPEN SIT 1.0
{
  "opensit": "1.0",
  "exported_at": "2026-09-10T09:00:00+02:00",
  "generator": {
    "name": "Open Sit example",
    "version": "1.0"
  },
  "sessions": [{
    "id": "c61c99fe-6ae8-4d7d-a072-9715cfe519d8",
    "started_at": "2026-09-10T07:30:00+02:00",
    "duration_seconds": 1200,
    "source": { "name": "timefully" }
  }]
}

One session. Required fields only. This is synthetic example data.

The essentials
opensitFormat version. Current: 1.0.
exported_atWhen the file was made, with a UTC offset.
generatorThe tool that made it: a name, and optionally a version.
sessions[].idA UUID that identifies a session.
started_atWhen the session began, with a UTC offset.
duration_secondsTotal time: warmup + main + cooldown.
source.nameWhere this session originally came from.
Optional fields: room for the details

timezone is an IANA time zone. title, note, and method are text. mood holds a label and optional intensity from 0 to 1, plus optional numeric valence and arousal. Mood labels are an open vocabulary; snake_case is recommended.

health can carry average_hr_bpm, average_hrv_sdnn_ms, and source_device. source.id preserves an original identifier; source.via records apple_health or health_connect when relevant. Vendor extensions belong under extra. Unknown keys are allowed at every level.

The optional $schema points editors to the 1.0 schema. A suggested filename is Timefully-practice-YYYY-MM-DD.opensit.json.

Durations, segments, and timestamps

duration_seconds is the total timed duration, including warmup and cooldown. Writers use integers of at least 1; readers tolerate decimals. This differs from Timefully CSV, where Duration is main-session time.

segments, when present, is an array of objects with kind and duration_seconds. Documented kinds are warmup, main, and cooldown; readers fold unknown kinds into main. Segment durations must sum to the total; a reader that finds they do not trusts duration_seconds, puts the difference on main, and counts a warning. With no segments, all time is the main session, and generators omit the array in that case.

Timestamps must include an offset or Z. The optional IANA zone preserves additional context. Dates before 1990 or over 24 hours in the future produce a warning. A zero or negative session duration is rejected and counted.

What each source can carry

Open Sit has room for timing, notes, mood intensity, health averages, and provenance. The Timefully readers use mood label and intensity; derived valence and arousal are for other tools. Android does not currently have an HRV field. A receiving app may ignore fields it does not support.

Insight Timer session-log CSV provides start time, duration, preset, and activity. A preset becomes the title; otherwise the activity does. Only a generic Meditation activity maps to a meditation method. Its dates contain no time zone, so the converter asks you to choose one. It cannot recover missing notes, mood, health readings, or original IDs.

The Health imports in Timefully 5.11 use start, end, original app, and record ID. They do not recover notes, mood, or segments. Health availability depends on the source app and platform permissions. Timefully CSV remains a separate compatibility format; this browser converter reads Insight Timer session-log CSV files.

Validation and duplicate handling

The browser checks the 1.0 fields, dates, IANA zones, numeric ranges, and segment totals. It reports every skipped session with a reason. The downloadable JSON Schema 2020-12 describes the writing format; segment sums, IANA zones, and unusual-date warnings require application checks.

This browser tool flags repeated UUIDs in Open Sit and identical start-second/duration pairs in Insight Timer session-log CSV files. It keeps those rows so you can review them. It cannot compare against your history in an app.

The app import checks session IDs, then source/ID pairs, then start-minute and total duration within the active profile. It also skips sessions Timefully already wrote to Health and avoids writing imported sessions back to Health. These behaviours are included in Timefully 5.11.

Versioning, license, and the first implementations

Versioning: 1.x is additive only, unknown keys are ignored by readers, and a breaking change means 2.0. Timefully commits to reading every 1.x version for as long as the apps exist. The browser checker accepts 1.x and refuses unknown major versions, naming the version.

Implementation status: this browser checker and Insight Timer session-log converter read and write 1.0 today. Timefully 5.11 on iOS and Android are the first app implementations. Conformance means decoding every published valid fixture, refusing the major-2 fixture, and matching the expected outputs for the Insight Timer and Timefully CSV fixtures.

The specification, schema, and fixtures are offered under CC0 1.0 Universal, so others can reuse and build on the format. This dedication applies to the specification and examples, not to anyone’s personal practice history.

A few useful answers

Open about
the details, too.

For today’s app features, see export and import help and Timefully pricing. Our privacy policy covers the website and apps.

Which version of Timefully includes Open Sit?

Open Sit arrives with Timefully 5.11 on iOS and Android. This release includes Open Sit import and export, the Import Sessions hub, and imports from Apple Health or Health Connect. Use version 5.11 or later to follow the app instructions on this page. The specification and browser tools are available here without installing the app.

Is importing and exporting free?

Yes. With Timefully 5.11, every import and export is included for everyone: session history and profile-settings backups alike. Statistics and the full archive beyond 60 days remain part of Timefully Pro. Your history is yours to bring in and take with you.

Can I bring sessions from Apple Health or Health Connect?

Yes. With Timefully 5.11 and your permission, you can import mindful sessions that other apps have already saved to the health platform on your phone. Available history depends on what those apps recorded and what the platform allows. This is an import, not continuous sync. The browser tool does not access health platforms.

What happens to notes, moods, and health readings?

Open Sit has optional fields for notes, mood labels and intensity, and session-average health readings. A receiving app can only use fields it supports. Insight Timer session-log CSV does not contain these details, so this converter cannot recover them. The format is designed to preserve more context than a basic session log.

Does this website receive my practice history?

The file tool reads and converts your file locally in browser memory. It does not upload file contents or filenames, save them to the website, or send them to analytics. Clear the file or close the page to discard that memory. Any file you download stays on your device. The website’s general privacy policy still applies.

A practice is bigger than an app.

Why we’re opening the format, and what we hope it makes possible.

Read the story