Honest status · not marketing

Tine vs Logseq, today

Tine matches Logseq by default and round-trips the same Markdown files, so the goal is convergence. But it isn't finished. Here's where it's at parity, where it's scoped, where it deliberately goes further, and what it won't do — grounded in what the app actually does, not a wish-list.

"Logseq" here means the classic file / Markdown Logseq — the one that reads a folder of .md files, which Tine is file-compatible with. Logseq's newer database version is a different product and isn't the comparison target. The full Tine feature list lives in FEATURES.md; this page is the curated, gap-focused view.

full parity partial / scoped not yet Tine goes further plugin Logseq: community plugin only
Can I copy a block reference?
Yes. Right-click a block → Copy block ref or Copy block embed. Tine stamps the block's id:: on demand and keeps it stable, so the reference survives restarts and round-trips to Logseq.
Page properties?
Yes — page-level and block-level key:: value properties, edited inline, with the same on-disk format Logseq uses.
Queries?
Yes — the everyday queries work: {{query (and (task TODO) (priority A))}}, page-refs, block/page properties, scheduled/deadline ranges, boolean and/or/not, and sort-by. That's the bulk of real-world use, and there's a visual query builder so you don't have to remember the syntax. The gap is raw Datalog ([:find … :where [?b :block/…]]): a one-click ⚙ advanced button drops a ready-to-edit template (and a ← Simple button converts it back to the visual builder), and Tine translates the common clause heads (task, priority, page-ref, property, page-property, page-tags, page, namespace, scheduled, deadline, journal, between) but skips arbitrary entity–attribute joins, custom rules, and :result-transform/:view — and it tells you which clauses ran and which it ignored, instead of guessing a wrong answer. You can also summarize results (count/sum/average, group-by) with no code. Queries even run in the HTML export.
Do math on query results?
Yes, and no code needed — the visual builder's ∑ summarize control counts the matched blocks, sums or averages a numeric property across them, and/or groups the results (by page or property) into a per-group table. In Logseq you get this only by writing a Clojure :result-transform or :view function inside the query — an escape hatch most users never touch, with no native no-code path, so this is a step beyond Logseq.

Editing & the outliner

The core writing experience.

FeatureLogseqTineNotes
Outlining — nest, fold, zoom, move blocksKeyboard-first; drag to reorder.
Bold / italic / strikethrough / highlight / inline codeCmd+B/I plus a floating selection toolbar; **/==/~~ wrap the selection as you type.
Raw inline HTML (<ins>, <sup>, <kbd>…)Renders live, sanitized to a safe allowlist (formatting tags + <img>/<a>); scripts, event handlers and style are stripped (#16; new in 0.3.5). Two Logseq-parity notes: a bare <img> is literal in Logseq too (only a self-closed <img/> renders), and ^x^/~x~ aren't sub/superscript in either — use the HTML tags or $math$.
Slash command menuBlocks, headings, tasks, dates, code, math… A dedicated template picker is still being polished.
Auto-pair brackets / [[ ]]Page-ref pairing is always on; general auto-pairing is a toggle.
Block references & embeds((ref)), {{embed}}; copy ref/embed from the right-click menu.
Page & block propertiesSame key:: value on-disk format.

Content & rendering

What a block can show. Every row here is verified against the live Feature showcase.

FeatureLogseqTineNotes
Headings, lists, blockquotes, HR
Code blocks + syntax highlighting
Tables (with column alignment)
LaTeX math (inline + display)KaTeX.
Images (inline, sized) & mediaVideo/audio embeds; PDF too (below).
Callouts / admonitions#+BEGIN_NOTE and [!NOTE].
Task markers + checkboxesTODO/DOING/NOW/LATER/WAITING/DONE/CANCELED; click the box to toggle.
Priorities [#A]
SCHEDULED / DEADLINE + repeatersRepeating tasks roll forward on completion.
Logbook / time trackingTask-marker transitions clock in/out into an OG-compatible :LOGBOOK: drawer with computed durations (on by default, toggle in Settings; drawers round-trip and stay hidden).
Footnotes

Pages, journals & links

FeatureLogseqTineNotes
Journals / daily notesMulti-day feed, configurable title/file formats.
Page links, tags, namespaces (a/b/c)Namespace tree in the sidebar.
Aliasesalias:: resolves in search + refs.
Linked & unlinked references
Favorites
Graph view (node-link)Not yet — researched; a local-neighborhood view is the likely first bite.

Queries

FeatureLogseqTineNotes
Simple & compound queries (DSL)task / priority / property / page-ref / scheduled / deadline / between / sort-by, with and/or/not.
Advanced Datalog ([:find …])Tine translates the common clause heads (task, priority, page-ref, property, page-property, page-tags, page, namespace, scheduled, deadline, journal, between, and/or/not) onto its engine; raw entity–attribute joins ([?b ?a ?v]) and custom rules aren't mapped. A one-click "⚙ advanced" button in the builder drops a ready-to-edit template, and it reports which clauses ran vs. were ignored — never a silently-wrong result.
Query result tables / viewsResults render as blocks or a sortable table, with a visual builder. Logseq's :view (a Clojure fn that draws a custom table/layout) and :result-transform (a Clojure fn that reshapes the result list) aren't run.
Math / aggregation on resultsTine's builder has a no-code ∑ summarize (count / sum / average a property, group-by page or property). Logseq has no native no-code path — it means writing a Clojure :result-transform.

Search, assets & export

FeatureLogseqTineNotes
Global search / quick switcher (Ctrl+K)
PDF viewer + annotation / highlightsHighlights become blocks, same as Logseq.
Asset handling (images, files)Paste an image → saved to assets/.
HTML publish / exportFacets, queries, and embeds all render — resolved against your graph at publish time. This site's demo is Tine's own export.
PDF exportpluginLogseq has no native PDF export — only a community plugin. Tine has it built in: right-click a page → Export to PDF… (whole page, print dialog → Save as PDF).
Copy as Markdown / RenderedTine adds a Rendered copy (paste formatted into email/docs).
Org-mode graphsReads/writes .org; per-graph preferred format.

Extensions & themes

Both apps are extensible, but the APIs and trust models are different.

FeatureLogseqTineNotes
Plugin platformTine 0.6 starts an experimental signed catalogue of bounded WebAssembly guests and inert token themes. It is intentionally not compatible with Logseq's mature @logseq/libs ecosystem; ports use Tine's narrower host-owned API.
Custom CSS and themesTine reads graph logseq/custom.css, aliases common --ls-* variables, and also offers inert token-theme packages. Graph CSS remains last in the cascade.

Where Tine goes further

The reason Tine exists is speed — and a few conveniences beyond Logseq.

FeatureLogseqTineNotes
Performance on large graphs / older machinesThe founding goal: a native Rust core + a lean UI, tuned for machines Logseq bogs down on.
Sheets — grids, field tables & boardsRender a bullet and its children as a spreadsheet-style grid, a typed field table, or a Kanban board — with formula columns, filters, aggregates, group-by, and CSV/TSV import. Stays plain Markdown plus tine.* properties Logseq ignores.
Split viewIndependent panes, each with its own tabs and history; Ctrl+click opens beside, drag a tab across, keyboard pane/seam navigation. Logseq has only the single right sidebar.
No-code query math & groupingThe ∑ summarize control counts / sums / averages a property and groups results with no code; in Logseq this needs a Clojure :result-transform / :view.
Editor tabspluginBuilt in (Logseq needs a community plugin): middle-click / Ctrl+W, reorderable, restored on launch.
Global quick capturetine --capture mini-window into today's journal.
Typographic replacements (-> → →)Optional render-time only; your .md keeps the ASCII.

Deliberately not doing

Logseq features that are out of scope by design — so a gap here is a choice, not a to-do.

  • Whiteboards — a whole separate canvas app; not Tine's focus.
  • Flashcards / spaced repetition — a large subsystem better served by dedicated tools.
  • Logseq / Obsidian plugin API compatibility — Tine's capability-limited WebAssembly platform is deliberately narrower; existing plugins do not run unchanged.
  • Real-time multi-user collaboration — Tine is local-first over your own file sync (Syncthing/Dropbox/git), not a live shared server.
  • The database version of Logseq — Tine targets the file/Markdown model on purpose; that's what keeps your notes as plain files you own.

As of Tine v0.6.0 · July 2026. This page is maintained by hand and will drift as features ship — FEATURES.md is the source of truth.