Start with a backup

When Obsidian is slow to start
How to narrow down the cause

This page was machine-translated from Japanese. Read the Japanese original

Preserve your original vault first, then troubleshoot plugins and settings in a copy. The 9 trials below use a small test vault created by the author, as an example of comparing the same conditions.

Preserve your original vault before changing settings

Back up your notes, attachments and settings, then test a copy of the vault. Disable all community plugins and compare how long it takes for the same note to appear. If there is a difference, re-enable the plugins one at a time and check again.

Back up first. Close Obsidian and copy your vault to another location. Include the hidden folder .obsidian in the settings backup. Before changing settings, confirm that the copy exists and that you can read a known note. These steps do not require deleting your original notes or plugin files.

The troubleshooting steps below are suggestions for readers, not a diagnosis of your device. The measurements later in the article cover only the fixed conditions of the 1 note prepared by the author.

  1. Back upOriginal notes, attachments and settings
  2. Identify the symptomStartup, note display or editing
  3. Compare in a copyThe same note and measurement criteria
  4. Re-enable one at a timeRecord versions and changes

Identify the slowdown and test a copy

  1. Record which stage is slow.
    Launching the app, opening a vault until its text appears, and searching, following links or editing are different symptoms. Record your OS, the Obsidian version, approximate vault size, recently changed settings and enabled plugins.
  2. Check your backup and set aside a copy for testing.
    Close the app, make a copy and preserve the original. Check the location so you do not confuse the test copy with an automatically synchronized vault. Avoid changing settings while both copies are open. You do not need someone else’s vault or unverified plugins.
  3. Disable community plugins in the copy and compare.
    Record the enabled plugins and their settings first. Then disable community plugins or use Restricted mode in their settings, restart, and compare how long the same known note takes to appear. Check menu labels for your version and language. A disabled plugin’s features will be unavailable.
  4. If there is a difference, re-enable plugins one at a time.
    Keep the same vault copy, note, core features and measurement criteria. Record each plugin’s name, version and the order in which you enabled it. Repeat each condition rather than drawing conclusions from the first launch or a single fast result.
  5. If there is no difference, compare the vault and environment separately.
    Check whether the same stage is slow in another vault containing a small note you created. Record other running apps, OS load, synchronization and storage conditions. Changing several settings or files at once makes it difficult to identify which change mattered.

Creating backups, switching to Restricted mode, re-enabling your plugins, and diagnosing synchronization or storage were not demonstrated in these 9 trials. The measurements used plugin enablement lists prepared in advance, with no interaction during startup and no rewriting of notes.

Compare 0, 1 and 2 plugins in a fixed small vault, with 3 trials each

Using the same Linux environment and author-created note, we compared conditions with 0 loaded community plugins, 1 with Templater only, and 2 with Templater plus QuickAdd. The median times until the note text appeared were approximately 0.92, 0.95 and 1.02 seconds, respectively.

3 trials per condition. Times are shown in ms (milliseconds), rounded to whole numbers from the raw data. Each entry gives the median and the minimum–maximum range across all 3 trials.
Plugins loaded at runtimeTrialsMeasurement connection ready
CDP ready
Known note text visible
GUI text ready
0 plugins: 2 disabled3 timesMedian 324 ms
Range 313–356 ms
Median 917 ms
Range 892–949 ms
1 plugin: Templater 2.25.13 timesMedian 325 ms
Range 315–339 ms
Median 948 ms
Range 926–973 ms
2 plugins: Templater 2.25.1 + QuickAdd 2.29.03 timesMedian 329 ms
Range 325–332 ms
Median 1017 ms
Range 1016–1105 ms

The distribution files for the 2 plugins were present even in the 0-plugin condition. Only the community-plugin enablement list changed. We checked the enabled list and the IDs and versions of actual plugin instances at runtime, confirming 0, 1 and 2 loaded plugins rather than merely counting installed manifests. The same 5 core features were enabled in every condition.

These medians do not establish a causal effect of plugin count alone or a general rule that more plugins always make startup slower. Plugin types changed along with their number, each condition had only 3 runs, and the shared CPU and cache were not held constant. Do not apply these differences directly to your own large vault or device.

What the startup timings measure

Connection readiness and note visibility are separate measurements

A monotonic clock measured elapsed time from just before launching the Obsidian process. The display environment was prepared before timing began. CDP ready marks when the measurement endpoint responded and its connection information was available. This alone does not establish that a note was visible.

GUI text ready marks when we used that connection to inspect the actual display and observed the heading “起動確認” in 起動確認.md together with the known verification marker. It includes startup, connection and readout time. It does not measure the first paint, completion of every plugin’s initialization, or when editing becomes possible. The loaded-plugin count was recorded separately after observing the note text.

Use the same input and sequence

  • Official Obsidian 1.13.7. The app and installer versions were checked in the actual General settings screen.
  • The same official distribution files for Templater 2.25.1 and QuickAdd 2.29.0 were copied into every condition. No new downloads or dependency installations were performed for these trials.
  • The input was 1 Markdown file of 148 bytes, prepared directly by the author. Every condition used the same vault settings, 5 core features and distribution files for both plugins. Before launch, we compared all vault files except the enablement list. The note’s bytes and hash also remained unchanged after startup.
  • The core features were file-explorer, backlink, outline, properties and bookmarks. No Templater startup template or QuickAdd choice, macro or AI configuration was executed.
  • Before measurement, we defined 3 conditions with 0, 1, and 2 plugins and 3 trials each, then measured in the order 0,1,2 / 1,2,0 / 2,0,1. All 9 planned trials are reported. We neither selected only fast results nor removed outliers.
  • During measurement, we did not click the GUI, use the API to open or write notes, or run plugin commands. We checked state through read operations. For each trial, we saved the actual display and then cleanly closed only the app used for measurement.

Cache, load and profile limitations

Before measurement, we used a preparation profile to complete the actual trust confirmation and check the version in General, then copied the prepared settings into each trial. Each trial used new profile and cache directories, but preparation and repetition warm the OS page and disk caches. We did not reboot or clear OS caches, so these were not physical cold starts or first use with untouched settings.

We did not record a complete hash inventory of each global profile immediately before launch. We retained the shared prepared source settings, copying method and pre-launch checks of each vault’s files. We do not claim that every byte of every profile was identical.

In the shared environment, observed CPU utilization was approximately 35–44%, and other apps were running. There were 5 visible logical CPUs, a quota equivalent to 4 CPUs and a memory limit of 16 GiB. The CPU observation interval included measurement, state readouts and saving images; it does not represent individual plugins’ CPU usage. Another build was observed before preparation, but this does not establish that it was running throughout all 9 trials.

A pre-measurement stop and corrections to the record

During preparation, before any measurements were taken, a check for whether a cleanly closed app had released its endpoint stopped after confusing TCP TIME_WAIT with a listening connection. We retained the failure record, confirmed there was no listener and that connections were refused, and corrected the check. We then ran the 9 planned trials, which had not yet been performed. Preparation time was excluded from the samples.

Reviewing the original image inventory revealed that the preparation-stage trust dialog had been omitted from the expected count. We corrected that count from 11 to 12. We did not regenerate images, GUI states or timestamps. Only the recorded count changed; existing CSV files and other recorded bytes were preserved.

Inspect the original CSV, note and screenshots

The original CSV contains unrounded timings for all 9 trials, loaded-plugin counts and versions at runtime, shared load and exit results. You can inspect the raw values separately from the rounded table. The Markdown input was prepared directly by the author beforehand; it is not evidence of the app saving note content.

# 起動確認

著者作成の固定ノートです。プラグインの起動比較にだけ使います。

表示確認印 C21-STARTUP-20260930
Actual display from trial 1 with 0 plugins, showing the 起動確認 note and known verification marker
Original image from trial 1 with 0 plugins. The note text and verification marker are visible. The loaded count of 0 was verified from a separate runtime record, not inferred from the image. Original PNG
Actual display from trial 1 with Templater only, showing the same note
Original image from trial 1 with Templater only, showing the same note. The loaded count of 1 and its version were checked in a separate runtime record. Original PNG
Actual display from trial 1 with Templater and QuickAdd, showing the same note
Original image from trial 1 with Templater and QuickAdd, showing the same note. The loaded count of 2 and their versions were checked in a separate runtime record. Original PNG
Actual General settings screen from preparation, showing Obsidian and installer version 1.13.7
The General settings screen from preparation, outside the measurements. The app and installer version is 1.13.7. This is not an additional sample in the 9 measured trials. Original PNG

The 4 displayed images, CSV and Markdown are copies whose bytes and SHA256 match the frozen originals. The original verification receipt covers 23 checks and the bytes and hashes of 82 files; including the receipt itself, the matching scope contains 83 items. These 9 trials did not measure Windows, macOS, iOS, large working vaults, synchronization, SimpleMemo speed or productivity, or traffic effects. Measurement conditions and original-file verification record.

Frequently Asked Questions

Does plugin count determine why startup is slow?
Plugin count alone is not enough to tell. In this fixed small vault, we ran 3 trials each with 0, 1 and 2 plugins. Plugin type changed along with count, and shared load and caching also affect the results. These measurements do not identify the cause in your vault or establish a causal effect of plugin count alone.
What should I back up before disabling plugins?
Before starting, close Obsidian and copy your vault’s notes, attachments, and settings—including the hidden .obsidian folder—to a separate location. Confirm that the copy exists and that you can read a known note. Keep the original vault and troubleshoot using the test copy. These are suggested steps for readers, not confirmation that your backup has been checked.
Were no plugins installed in the 0-plugin condition?
No. The same official Templater and QuickAdd distribution files were present in every condition; only the enablement list changed. In the 0-plugin condition, community plugins were disabled and 0 instances were loaded at runtime. The same 5 core features were enabled.
Is CDP ready the same as the note text becoming visible?
They are different. CDP readiness is when the measurement endpoint responds. Body display is when a subsequent connection confirms that the known Markdown heading and verification marker appear in the actual app. Both intervals are measured from just before process launch; body-display timing also includes connection and verification time. These measurements do not represent first paint or completion of initialization for every plugin.
Do these timings apply to other devices or large vaults?
No. They cover only 9 trials using Obsidian 1.13.7 for Linux, small author-created notes, fixed settings and copies of prepared profiles. The OS cache was warm, and shared CPU load was approximately 35–44%. We did not measure Windows, macOS, iOS, large working vaults, physical cold starts or SimpleMemo speed.