Documentation
Contents
List Log is an iOS and iPadOS app for designing reusable checklists and running them as many times as you need — producing a permanent, exportable record of every run.
List Log is free to download and includes creating one checklist with unlimited runs, full viewing of results, and iCloud sync. A single one-time purchase unlocks unlimited checklists and all export and import features.
Step 1 — Create a checklist. On the Checklists screen, tap New Checklist. Enter a name and a description — both are required.
Step 2 — Add a group. Every checklist is organized into groups. Give your first group a name and a description. Think of a group as a section or category within your checklist. A default "General" group is automatically added; you can rename it.
Step 3 — Add items to the group. Tap Add Item within the group. Give the item a title, choose its type (for example, Checkbox or Short Text), choose its role (Input or Reference), and tap Save. Repeat for as many items as you need.
Step 4 — Start a run. Navigate to the Checklist Detail screen and tap Start New Run. Fill in each item. Your progress is saved automatically as you go — you can leave and come back at any time.
Step 5 — Finish the run. When you have filled in everything, tap Finish Run. The run is recorded with a completion timestamp and moves to your run history.
A checklist is the reusable design — the structure of groups and items you create once. A run is one completed (or in-progress) execution of that checklist. You can run the same checklist as many times as you like; each run is its own independent record.
When you start a run, List Log takes a complete copy of the checklist's structure at that moment — its groups, items, and any Reference values — and stores it inside the run itself. If you later edit or delete the checklist, your past runs are completely unaffected. Every run stands on its own; it does not depend on the checklist that produced it.
List Log saves your work automatically and continuously. Every value you enter during a run is written immediately — you never need to tap a save button.
There are two ways to leave the Active Run screen:
There is no penalty for using the back arrow. Your data is never lost.
A Collection is an optional way to group related checklists together — for example, "Site Inspections" or "Monthly Reports." A checklist belongs to at most one Collection at a time, or none at all (shown as Uncategorized).
Collections are purely organizational. Assigning a checklist to a Collection, moving it between Collections, or leaving it Uncategorized has no effect on that checklist's own Active/Inactive status or its ability to start new runs. See Section 5 for how to create and manage Collections, and Section 8 for how to assign a checklist to one.
The Checklists screen is the first screen you see when you open List Log. It shows all of your checklists, organized into sections:
Each row shows the checklist name, its description, and a count of groups and items. Within every section, Active checklists are listed before Inactive ones (which appear dimmed).
Within any section, you can drag checklists into whatever order suits you — Active and Inactive checklists reorder independently of one another, so an Inactive checklist always stays below the Active ones. Tap Edit (top left) to enter reorder mode, drag a checklist's row to its new position, then tap Edit again (now labeled Done) to finish. The order you set is remembered.
Open the Collections manager by tapping the + icon on the Checklists screen and choosing Manage Collections.
Tap Add Collection, enter a name (required), choose Active or Inactive status, and tap Save.
Tap Edit (top left), then drag a Collection to a new position. Active and Inactive Collections reorder independently of one another — Active Collections are always listed first wherever Collections appear, including on the Checklists screen.
Tap the pencil icon on any Collection's row to rename it or toggle it between Active and Inactive. A Collection's status is purely organizational — like a checklist's own Active/Inactive status, it doesn't gate anything; an Inactive Collection's checklists behave exactly as they otherwise would.
Swipe left on a Collection to delete it. This option is only available when the Collection currently contains zero checklists — remove or reassign every checklist first (see below). A confirmation prompt appears before anything is deleted. Deleting a Collection never deletes the checklists that used to be in it.
Collection assignment happens from the checklist's own side, not from the Collections manager. Open the checklist's Detail screen, tap ···, and choose Assign Collection (the menu item shows the Collection's name once one is assigned). Choose any Collection from the list — Inactive Collections are selectable too — or choose None to leave the checklist Uncategorized. The change applies immediately; there is no separate Save step. See Section 8.
The About screen is a simple, static information screen, separate from your checklists and runs. It is accessible by tapping the info icon (ⓘ) in the toolbar of the Checklists screen.
The About screen displays:
The Checklist Editor is used both to create new checklists and to edit existing ones.
Every checklist requires a name and a description. Neither can be left blank. The Save button is disabled until both are filled in.
A checklist is organized into one or more groups. Each group has a name and a description — both required. Groups appear in the order you define them. To reorder, tap and hold on a group and move it to the desired position. An initial group called "General" is added automatically; you can rename it.
To add a group, tap Add Group. To edit or delete a group, tap it or swipe left on it.
Each group contains one or more items. An item is a single data point — one thing to fill in during a run. When adding an item, you choose:
Items within a group can be reordered by tapping and holding on an item and moving it to the desired position.
Input — the person running the checklist fills in this value during each run. The value can be different every time. Example: the result of an inspection, a measured reading, a date observed.
Reference — the checklist designer fills in a fixed value at design time. It appears on every run as read-only information and cannot be changed during a run. Example: a link to a procedure document, a specification limit, a standard instruction. List of Values items are the one exception — this type supports the Input role only.
A run is automatically marked Complete when every Required item has a value. For URL items, both the label and the URL must be present. Optional items do not affect completion. You can also manually override the Complete/Incomplete status of any run at any time.
Tapping a checklist opens the Checklist Detail screen. This screen has two tabs, Design and Runs, plus a Start New Run button that stays visible at the bottom regardless of which tab is active.
Shows the checklist's name, description, and every group and item in the order you defined them.
Shows the history of all runs for this checklist, most recent first. If a run has a Run Name (see Section 9), its row shows the name alongside the Complete/Incomplete status, with the date shown on a second line below. If no Run Name was set, the row simply shows the date alongside the status on one line — exactly how every run was shown before this feature existed.
The … button (top right) provides additional actions:
Tapping Duplicate Checklist immediately creates a full, independent copy — including every group, item, and Reference value — and opens the copy directly in the Checklist Editor with the Name field selected, ready for you to type a new name right away. The suggested starting name is the original with " copy" added (for example, "Site Inspection copy").
The copy always starts with no run history, is always Active regardless of the original's current status, and lands in the same Collection as the original (or Uncategorized, if the original has none).
If you tap Cancel before saving — or leave the editor any other way without saving — the duplicate is discarded entirely; nothing is left behind.
Duplicating a checklist counts toward the free-tier one-checklist limit exactly like creating a new one or importing one.
An Active checklist can have new runs started against it. An Inactive checklist cannot start new runs, but all past runs remain fully accessible, viewable, and exportable. Use Inactive status to retire a checklist you no longer use without losing its history.
A checklist with existing runs cannot be deleted — it can only be set Inactive. A checklist with no runs can be deleted. If every run belonging to a checklist is later deleted individually, the checklist becomes eligible for deletion again.
Tapping Start New Run opens the Active Run screen. Each item is presented according to its type. Reference items appear with a "Ref" label and cannot be edited — they display the fixed value the checklist designer entered.
At the top of the Active Run screen is an optional Run Name field. Use it to give this particular run a label of your own — for example "Morning Shift" or "Building 4B" — so it's easy to tell apart from other runs of the same checklist later. It has no effect on completion status, required items, Finish Run, or anything else; it is purely a label, and it can be added, changed, or left blank at any time while the run is open.
If you leave it blank, the run is simply identified by its date and time wherever it's listed — exactly as every run was shown before this feature existed. See the Runs tab description in Section 8.
Every value you enter is saved immediately and automatically. There is no save button and no risk of losing your work if you are interrupted.
If you need to stop before finishing, tap the back arrow. Your progress is saved. The run will appear on the Runs tab as In Progress and can be resumed at any time by tapping it.
When you have filled in everything you need, tap Finish Run (top right). This records the completion date and time and closes the run.
As you fill in Required items, the run's status updates automatically. When every Required item has a value, the run is considered Complete. If you tap Finish Run before all Required items are filled in, the run is recorded as Incomplete. You can manually override the status at any time from the Run Detail screen.
When filling in a URL item, you must provide both a label (the text that will be displayed as the link) and the URL itself (must begin with https:// or http://). If the URL is not in a valid format, a message appears below the field and Finish Run is disabled until it is corrected.
Tapping a Photo item opens your device's photo library directly — List Log does not offer an in-app camera, so to add a photo taken specifically for a run, capture it in your device's Camera app first and then select it from your library. Whatever you select is automatically resized (longest side capped at 1600 pixels) and copied into List Log's own storage; it is not linked to the original asset in your Photos library.
Tapping a completed run on the Runs tab opens the Run Detail screen — a read-only view showing:
URL items are shown as tappable links — tapping one opens the URL in Safari. Photo items show a thumbnail of the captured photo; tap the thumbnail to view the full image.
Tap the Export PDF button (top right) to generate a formatted PDF of the run. Navigate to the location to save the PDF file. Full access is required. The PDF includes:
You can update the Input values in a completed run at any time by tapping Edit. Reference values can never be edited. The run's Updated date will reflect when you last made a change.
Tap the status badge to manually toggle the run between Complete and Incomplete, regardless of whether all Required items have values. Only the current status is shown — no history of automatic vs. manual status changes is kept.
| Type | What it captures | Reference role? |
|---|---|---|
| Checkbox | Yes or No — tap to toggle | Yes |
| Yes / No / N/A | Three-state toggle: Yes, No, or Not Applicable | Yes |
| Number | Numeric value via numeric keyboard | Yes |
| Short Text | Single line of free text | Yes |
| Long Text | Multiple lines of free text; field expands as you type | Yes |
| Date | Calendar date (no time) via date picker | Yes |
| Date & Time | Calendar date plus time of day via date and time picker | Yes |
| URL | Web link with a human-readable label — must start with https:// or http:// | Yes |
| Photo | Image selected from your device's photo library — there is no in-app camera capture. Automatically resized (longest side capped at 1600 pixels) before storage. | Yes |
| PDF file from device storage — file is copied into the app; not linked to original location. To link a web-hosted PDF, use a URL item instead. | Yes | |
| List of Values | One selection from a designer-defined list — each item's option list belongs only to that item | No — Input only |
All export features require full access.
Available from the Run Detail screen. Tap the Export PDF button (top right) to generate a formatted PDF. Tap the share icon to save, print, or share the PDF via any app on your device. See Section 10 for full details of what the PDF includes.
Available from the Checklist Detail screen via the … menu (Export CSV). Produces a single CSV file containing every run recorded against the checklist, in a flat format — one row per item per run. This format stays correct even as a checklist's design changes over time. Use a pivot table in your spreadsheet app to view the data as one run per row.
Each row contains the following eleven columns, in order:
| # | Column | Contents |
|---|---|---|
| 1 | Template Name | The checklist name |
| 2 | Checklist Description | The checklist description |
| 3 | Log Entry ID | Unique identifier for the run |
| 4 | Run Name | The run's optional label, if one was set. Blank if not. |
| 5 | Date Completed | Date the run was finished |
| 6 | Group Name | The group the item belongs to |
| 7 | Group Description | The group description |
| 8 | Item Name | The item title |
| 9 | Role | "Reference" or "Entered" |
| 10 | Value | The item's value (raw URL only, for URL items) |
| 11 | Label | For URL items only: the link label. Blank for all other types. |
Rows are ordered by run date (oldest to newest), then by group order, then by item order within the group. Any field containing a comma, quote, or line break is quoted per RFC 4180 so the file opens correctly in Microsoft Excel, Apple Numbers, and Google Sheets.
Available from the Checklist Detail screen via the … menu (Export Checklist). Exports the checklist's design as an 11-column CSV file — groups, items, types, and roles, with no run values. Useful for sharing a checklist design or editing it in a spreadsheet before re-importing.
The eleven columns, in order:
| # | Column | Notes |
|---|---|---|
| 1 | Checklist Name | |
| 2 | Checklist Description | |
| 3 | Group Name | |
| 4 | Group Description | |
| 5 | Item Title | |
| 6 | Item Type | Uses the app's display names, e.g. "Checkbox", "Yes / No / N/A", "List of values" |
| 7 | Role | "Input" or "Reference" |
| 8 | Required | "Required" or "Optional" |
| 9 | Options | List of Values items only, pipe (|) separated. Blank for all other types. |
| 10 | Reference URL | URL items with Reference role only. Blank in every other case. |
| 11 | Reference URL Label | URL items with Reference role only. Blank in every other case. |
Available from the Checklists screen via the + icon menu. Downloads a pre-built CSV demonstrating one example of each of the eleven item types, plus a second URL example showing a Reference-role URL with its Reference URL and Reference URL Label columns populated. Use it as a starting point for building your own checklist via import.
Importing creates a new checklist from a CSV file that follows the 11-column checklist structure export format described in Section 12.
Tap the + icon menu on the Checklists screen and select Import Checklist. Choose the CSV file from your device.
List Log validates the entire file before creating anything. Validation checks include: a correctly matching 11-column header row, a non-empty Checklist Name / Group Name / Item Title in every row, a recognized Item Type, a valid Role value ("Input" or "Reference"), List of Values items using Input role only, and a Required column of "Required" or "Optional". For any row where Item Type is URL and Role is Reference, both the Reference URL and Reference URL Label columns are required and the URL must begin with https:// or http://; for every other row, both columns must be blank.
If any errors are found — such as a missing item title, an unrecognized item type, or an incorrect number of columns — the import is rejected and a list of errors with row numbers is shown. No partial checklist is created. If the import succeeds, the new checklist is created with Active status, Uncategorized (see Section 5 to assign it to a Collection afterward). Group and item order matches the row order in the CSV file. The file may use any standard line ending (Windows, Mac, or Unix).
Full access is required to import a checklist when you already have one.
If your device has an active iCloud account, List Log automatically syncs your checklists and runs across all of your Apple devices using the same iCloud account. No setup is required — sync is on by default when iCloud is available. Photos and PDF attachments are also stored in iCloud and sync across devices.
If no iCloud account is active, List Log stores everything locally on the device. Your data is never lost — it simply stays on that device until iCloud becomes available. The switch between modes is transparent and automatic.
iCloud sync is available to all users, including the free tier.
Changes made on one device may take a few moments to appear on another, depending on network conditions. If a change does not appear immediately, wait a moment and pull down to refresh.
List Log is free to download and includes:
A single one-time in-app purchase unlocks:
The upgrade prompt appears automatically when you attempt a feature that requires full access. Tap Unlock Full Access, review the price (fetched live from the App Store), and confirm with Face ID, Touch ID, or your Apple ID password. The purchase is processed through Apple — List Log never sees your payment information. The unlock takes effect immediately; you do not need to restart the app.
If you have already purchased full access and need to restore it — after reinstalling the app or on a new device — tap Restore Purchase on the upgrade prompt. Your purchase will be restored at no charge.
Full access supports Apple Family Sharing. A purchase by one family member grants full access to all members of the same Family Sharing group.
If you already had two or more checklists before this feature was introduced, you keep access to all of them without needing to purchase — the checklist limit only applies when creating a new checklist.
For support, use the support form.