Settings

Upon opening Obsidian for the first time, Obsidian comes with the following .json files in the .obsidian folder:

In app.json

Default:

{}

In appearance.json

Default:

{}

Options

General

Automatic updates

Turn this off to prevent the app from checking for updates.

Default: true

Language

Change the display language. Learn how to add a new language to Obsidian.

Default: English

Advanced

Notify if startup time takes longer than expected

Diagnose issues with your app by seeing what is causing the app to load slowly.

Default: off

My settings

I turned this on.

Editor

Always focus new tabs

When you open a link in a new tab, switch to it immediately.

In app.json

Only written to app.json upon update.

Default:

  "focusNewTab": true

Default view for new tabs

The default view that a new markdown tab gets opened in.

  • Editing view ("source")
  • Reading view ("preview")

In app.json

Only written to app.json upon update.

Default:

  "defaultViewMode": "source"

Default editing mode

The default editing mode a new tab will start with.

  • Live Preview
  • Source Mode

In app.json

Only written to app.json upon update.

Default:

  "livePreview": true

Show editing mode in status bar

Show the editing mode toggle in the status bar.

Default: true

Display

Readable line length

Limit maximum line length. Less content fits onscreen, but long blocks of text are more readable.

In app.json

Only written to app.json upon update.

Default:

  "readableLineLength": true

Strict line breaks

Markdown specs ignore single line breaks in reading view. Turn this off to make single line breaks visible.

In app.json

Only written to app.json upon update.

Default:

  "strictLineBreaks": false

Properties in document

Choose how properties are displayed at the top of notes. Select “source” to show properties as raw YAMAL.

  • Visible (visible)
  • Hidden (hidden)
  • Source (source)

In app.json

Only written to app.json upon update.

Default:

  "propertiesInDocument": "visible"

Fold heading

Lets you fold all content under a heading.

In app.json

Only written to app.json upon update.

Default:

  "foldHeading": true

Note: Even if set to false, the carat will still appear next to the heading upon hover. It just won’t be clickable.

Fold indent

Lets you fold part of an indentation, such as lists.

In app.json

Only written to app.json upon update.

Default:

  "foldIndent": true

Note: Even if set to false, the carat will still appear next to the heading upon hover. It just won’t be clickable.

Line numbers

Show line numbers in the gutter.

In app.json

Only written to app.json upon update.

Default:

  "showLineNumber": false

My settings

I set this to true.

Indentation guides

Show vertical relationship lines between list items.

In app.json

Only written to app.json upon update.

Default:

  "showIndentGuide": true

Right-to-left (RTL)

Sets the default text direction of notes to right-to-left.

In app.json

Only written to app.json upon update.

Default:

  "rightToLeft": false

Behavior

Spellcheck

Turn on the spellchecker.

In app.json

Only written to app.json upon update.

Default:

  "spellcheck": true
Spellcheck languages

Choose the languages for the spellchecker to use.

Auto-pair brackets

Pair brackets and quotes automatically.

In app.json

Only written to app.json upon update.

Default:

  "autoPairBrackets": true

Auto-pair Markdown syntax

Pair symbols automatically for bold, italic, code, and more.

In app.json

Only written to app.json upon update.

Default:

  "autoPairMarkdown": true

Smart lists

Automatically set indentation and place list items correctly.

In app.json

Only written to app.json upon update.

Default:

  "smartIndentList": true

Indent using tabs

Use tabs to indent by pressing the “Tab” key. Turn this off to indent using 4 spaces.

In app.json

Only written to app.json upon update.

Default:

  "useTab": true

Bug

Setting useTab to false does not disable tab indentation. It only adds the ability to indent with 4 spaces as well. While the description is technically accurate, it does not match what the property name or user expectation implies.

Indent visual width

Number of spaces a tab character will render as.

In app.json

Only written to app.json upon update.

Default:

  "tabSize": 4

Changing tab size to a number not supported by the slider

While the tab size slider only supports values between 2 and 8, you can set the value to a different number in app.json directly and it will render correctly. Numbers below 0 (such as -1 or -2) will render a tab size of 8 regardless of the number.

Advanced

Convert pasted HTML to Markdown

Automatically convert HTML to Markdown when pasting and drag-and-drop from web pages. Use Ctrl/Cmd+Shift+V to paste HTML without converting.

In app.json

Only written to app.json upon update.

Default:

  "autoConvertHtml": true

Warning

When autoConvertHtml is false, pressing Ctrl/Cmd+Shift+V will not convert pasted HTML to Markdown.

Vim key bindings

Use Vim key bindings when editing.

In app.json

Only written to app.json upon update.

Default:

  "vimMode": false

When turning vim key bindings on, you will receive this popup:

Confirm entering Vim mode

Vim mode is for efficient text editing but can be quite counter-intuitive. If you’re not familiar with Vim, this option might make it look like Obsidian has stopped working.

To verify that you know your way around Vim, please enter the command to quit Vim without saving below:

Default file to open

Choose which file to open when the app starts.

  • Last opened ("")
  • New note ("new")
  • Specific file ("file:")
  • Daily note ("daily")

In app.json

Only written to app.json upon update.

Default:

  "openBehavior": false

File to open

Select a specific file to open by default.

This setting only appears when openBehavior is set to "file:". The selected file’s path is appended to "file:" in app.json.

Default location for new notes

Where newly created notes are placed.

  • Vault folder ("root")
  • Same folder as current file ("current")
  • In the folder specified below ("folder")

In app.json

Only written to app.json upon update.

Default:

  "newFileLocation": "root"

Folder to create new notes in

Newly created notes will appear in this folder.

This setting only appears when newFileLocation is set to "folder". The selected folder is stored in:

 "newFileFolderPath": "Your folder name"

Note: newFileFolderPath retains its value even when a different option is selected in the dropdown, but only takes effect when newFileLocation is set to "folder".

Default location for new attachments

Where newly added attachments are placed.

  • Vault folder “/
  • Same folder as the current file ("./")
  • In subfolder under current folder ("./your-folder-name")
  • In the folder specified below ("your-folder-path")

In app.json

Only written to app.json upon update.

Default:

  "attachmentFolderPath": "/"

Subfolder name

If your file is in “vault/folder”, and you set subfolder name to “attachments”, attachments will be saved to “vault/folder/attachments”.

This setting only appears when “In subfolder under current folder” is selected in the dropdown.

If no folder is specified, attachmentFolderPath will default to "./attachments".

Attachment folder path

Place newly created attachment files, such as images created via drag-and-drop or audio recordings, in this folder.

This setting only appears when “In the folder specified below” is selected in the dropdown.

If no folder is specified, attachmentFolderPath will default to "attachments".

My settings

I selected “Same folder as current file”.

What links to insert when auto-generating internal links.

  • Shortest path when possible ("shortest")
  • Path from current file ("relative")
  • Path from vault folder ("absolute")

In app.json

Only written to app.json upon update.

Default:

  "newLinkFormat": "shortest"

Turn off to be prompted to update links after renaming a file.

In app.json

Only written to app.json upon update.

Default:

  "alwaysUpdateLinks": false

When renaming a link, you will receive this popup:

Update links

Do you want to update internal links that link to this file?

This will affect [#] in [#] file.

[Always update] [Just once] [Do not update]

If “Always update” is selected, "alwaysUpdateLinks" is set to true.

Bug

Closing the dialog will proceed with renaming the file, without updating internal links.

My settings

I turned this on.

Auto-generate Wikilinks for links and

Transclude of images
instead of Markdown links and images. Disable this option to generate Markdown links instead.

In app.json

Only written to app.json upon update.

Default:

  "useMarkdownLinks": false

Show files with any extension even if Obsidian can’t open them natively, so you can link to them and see them in File Explorer and Quick Switcher.

In app.json

Only written to app.json upon update.

Default:

  "showUnsupportedFiles": false

My settings

I turned this on.

Trash

Confirm file deletion

Ask before deleting a file.

In app.json

Only written to app.json upon update.

Default:

  "promptDelete": true

If "promptDelete" is true, you will receive this popup when you try to delete a file:

Delete file

Are you sure you want to delete “your-file-name”?

(Information about happens to the file if deleted is placed here.)

  • Do not ask again [Delete] [Cancel]

Checking “Do not ask again” before clicking “Delete” will cause "promptDelete" to be set to false.

Deleted files

What happens to a file after you delete it.

  • Move to system trash ("system") The deletion prompt will say: “It will be moved to your system trash.”
  • Move to Obsidian trash (.trash folder) ("local") The deletion prompt will say: “It will be moved to your Obsidian trash, which is located in the “.trash” hidden folder in your vault.”
  • Permanently delete ("none") The deletion prompt will say: “This file will be permanently deleted.

In app.json

Only written to app.json upon update.

Default:

  "trashOption": "system"

Deleting to .trash when it does not exist

For vaults synced with iCloud, the first deletion may create the .trash folder without moving the file. A second deletion is required. This is caused by iCloud intercepting the delete operation, not an Obsidian bug.

My settings

I set this to “Move to Obsidian trash (.trash folder)“

Advanced

Excluded files

Excluded files will be hidden in Search, Graph View, and Unlinked Mentions, less noticeable in Quick Switcher and link suggestions.

In app.json

Only written to app.json upon update.

Default:

  "userIgnoreFilters": []

When clicking “Manage”, you will receive this popup:

Excluded files

No excluded filter is applied right now. Add one below.

Override config folder

Use a different config folder than the default one. Must start with a dot.

Allow URI callbacks

Enable the use of x-callback-url through x-success or x-error when handling Obsidian URIs. Learn more

In app.json

Only written to app.json upon update.

Default:

  "uriCallbacks": false

Rebuild vault cache

Rebuilding the cache could take a few seconds to a few minutes depending on the size of your vault. Learn more

Appearance

Base color scheme

Choose Obsidian’s default color scheme.

  • Dark ("obsidian")
  • Light ("moonstone")
  • Adapt to system ("system")

In appearance.json

Only written to appearance.json upon update.

Default:

  "theme": "system"

Accent color

Choose the accent color used throughout the app.

In appearance.json

Only written to appearance.json upon update.

Default:

  "accentColor": ""

When unspecified, the accent color is 8A5CF5.

Themes

Manage installed themes and browse community themes.

If there is no “themes” folder in Obsidian, either installing a new theme or clicking the folder icon will create one.

In appearance.json

Only written to appearance.json upon update.

Default:

  "cssTheme": ""

About the Default theme

According to the theme’s page in the community themes, the Default theme was made by Obsidian. It cannot be uninstalled, and only has a simple description on the theme page:

A simple theme designed to feel intuitive across all platforms. Supports light and dark mode.

Interface

Inline title

Display the filename as an editable title inline with the file contents.

In app.json

Only written to app.json upon update.

Default:

  "showInlineTitle": true

My settings

I turned this off.

Show tab title bar

Display the header at the top of every tab.

In appearance.json

Only written to appearance.json upon update.

Default:

  "showViewHeader": true

Show ribbon

Display vertical toolbar on the side of the window.

In appearance.json

Only written to appearance.json upon update.

Default:

  "showRibbon": true

Ribbon menu configuration

Configure what commands appear in the ribbon menu.

Clicking “Manage” will cause this popup to appear:

Ribbon menu

Change what items you want to be active in the ribbon. Drag and drop to change the order.

By default, the ribbon items are displayed in the following order:

  • Open quick switcher
  • Open graph view
  • Create a new canvas
  • Open today’s daily note
  • Insert template
  • Open command palette
  • Create new base

Font

Interface font

Set base font for all of Obsidian.

In appearance.json

Only written to appearance.json upon update.

Default:

  "interfaceFontFamily": ""

When unspecified, the font family is set to Segoe UI.

Clicking “Manage” will cause this popup to appear:

Interface font

No custom font is applied right now. Add one below.

Bugs

  • Inter is listed twice.
  • The scroll wheel stops scrolling after “Lucida Sans”.

Text font

Set font for editing and reading views.

In appearance.json

Only written to appearance.json upon update.

Default:

  "textFontFamily": ""

When unspecified, the font family is set to Segoe UI.

Clicking “Manage” will cause this popup to appear:

Text font

No custom font is applied right now. Add one below.

Bugs

  • Inter is listed twice.
  • The scroll wheel stops scrolling after “Lucida Sans”.

Monospace font

Set font for editing and reading views.

In appearance.json

Only written to appearance.json upon update.

Default:

  "monospaceFontFamily": ""

When unspecified, the font family is set to Cascadia Mono.

Clicking “Manage” will cause this popup to appear:

Monospace font

No custom font is applied right now. Add one below.

Bugs

  • Inter is listed twice.
  • The scroll wheel stops scrolling after “Lucida Sans”.

Font size

Font size in pixels that affects editing and reading views.

In appearance.json

Only written to appearance.json upon update.

Default:

  "baseFontSize": 16

Changing font size to a number not supported by the slider

The font size slider only supports values between 10 and 30. Setting baseFontSize in appearance.json to a value outside this range will have no effect.

Quick font size adjustment

Adjust the font size using Ctrl + Scroll or using the trackpad pinch-zoom gesture.

In appearance.json

Only written to appearance.json upon update.

Default:

  "baseFontSizeAction": false

Advanced

Zoom level

Controls the overall zoom level of the app.

Default: 100% (slider allows a range between 63% and 173%)

Native menus

Menus throughout the app will match the operating system. They will not be affected by your theme.

In appearance.json

Only written to appearance.json upon update.

Default:

  "nativeMenus": false

Window frame style

Determines the styling of the title bar of Obsidian windows. Requires a full restart to take effect.

  • Hidden (default)
  • Obsidian frame
  • Native frame

Custom app icon

Set a custom icon for the app

Custom app icon in the Windows taskbar

Accepted file formats are .icns.ico.png, and .svg.

For certain Windows operating systems, an extra step may be needed to adjust the custom app icon in the taskbar.

Follow these steps:

  • Right-click the Obsidian icon on your taskbar or desktop shortcut.
  • Right-click the name Obsidian (skip this step for the desktop icon).
  • Choose Properties.
  • Click Change Icon.
  • Locate the icon on your file system.
  • Click OK.

Afterward, you have the option to either restart explorer.exe within the task manager or restart your computer to apply the changes you made.

Bug

Missing period in documentation.

Hardware acceleration

Turns on Hardware Acceleration, which uses your GPU to make Obsidian smoother. If you turn this off, app performance will be severely degraded.

CSS snippets

CSS snippets are stored in “vault/.obsidian/snippets”. Learn more

Info

If there is no snippets folder in .obsidian, clicking the folder icon will create it.

Hotkeys

CommandHotkey
Add aliasBlank
Add cursor aboveBlank
Add cursor belowBlank
Add embedBlank
Add file propertyCtrl + ;
Add internal linkBlank
Add tagBlank
Audio recorder: Start recordingBlank
Audio recorder: Stop recordingBlank
Backlinks: Open backlinks for the current noteBlank
Backlinks: Show backlinksBlank
Backlinks: Toggle backlinks in documentBlank
Bases: Add itemBlank
Bases: Add viewBlank
Bases: Copy table to clipboardBlank
Bases: Create new baseBlank
Bases: Insert new baseBlank
Bases: Switch view…Blank
Bookmarks: Bookmark all tabs…Blank
Bookmarks: Bookmark block under cursor…Blank
Bookmarks: Bookmark current search…Blank
Bookmarks: Bookmark heading under cursor…Blank
Bookmarks: Bookmark…Blank
Bookmarks: Remove bookmark for the current fileBlank
Bookmarks: Show bookmarksBlank
Canvas: Convert to file…Blank
Canvas: Create new canvasBlank
Canvas: Export as imageBlank
Canvas: Jump to groupBlank
Change theme…Blank
Change vault…Blank
Clear file propertiesBlank
Clear formattingBlank
Close all other tabsBlank
Close current tabCtrl + W
Close others in tab groupBlank
Close this tab groupBlank
Close windowCtrl + Shift + W
Command palette: Open command paletteCtrl + P
Copy current file path from system rootBlank
Copy current file path from vault folderBlank
Copy Obsidian URL for current fileBlank
Create new noteCtrl + N
Create new note in current tabBlank
Create note to the rightCtrl + Shift + N
Cycle bullet / checkboxBlank
Daily note: Open next daily noteBlank
Daily note: Open previous daily noteBlank
Daily note: Open today’s daily noteBlank
Delete current fileBlank
Delete paragraphCtrl + D
Download attachments for current fileBlank
Export to PDF…Blank
File recovery: Open local historyBlank
Files: Create new folderBlank
Files: Reveal current file in navigationBlank
Files: Show file explorerBlank
Focus on last noteBlank
Focus on tab group aboveBlank
Focus on tab group belowBlank
Focus on tab group to the leftBlank
Focus on tab group to the rightBlank
Fold all headings and listingsBlank
Fold lessBlank
Fold moreBlank
Follow link under cursorAlt + Enter
Footnotes view: Show footnotesBlank
Format converter: Open format converterBlank
Go to last tabCtrl + 9
Go to next tabCtrl + Tab
Ctrl + Page Down
Go to previous tabCtrl + Shift + Tab
Ctrl + Page Up
Go to tab #1Ctrl + 1
Go to tab #2Ctrl + 2
Go to tab #3Ctrl + 3
Go to tab #4Ctrl + 4
Go to tab #5Ctrl + 5
Go to tab #6Ctrl + 6
Go to tab #7Ctrl + 7
Go to tab #8Ctrl + 8
Graph view: Open graph viewCtrl + G
Graph view: Open local graphBlank
Graph view: Start graph timelapse animationBlank
Indent list itemBlank
Insert attachmentBlank
Insert calloutBlank
Insert code blockBlank
Insert footnoteBlank
Insert horizontal ruleBlank
Insert Markdown linkCtrl + K
Insert Math blocBlank
Insert tableBlank
Make a copy of the current fileBlank
Manage vaultsBlank
Move current file to another folderBlank
Move current tab to new windowBlank
Move line downBlank
Move line upBlank
Navigate backCtrl + Alt + ⇦
Navigate forwardCtrl + Alt + ⇨
New tabCtrl + T
New windowBlank
Note composer: Extract current selectionBlank
Note composer: Extract this heading…Blank
Note composer: Merge file with another fileBlank
Open current tab in new windowBlank
Open helpF1
Open in default appBlank
Open link under cursor in new tabCtrl + Enter
Open link under cursor in new windowCtrl + Alt + Shift + Enter
Open link under cursor to the rightCtrl + Alt + Enter
Open sandbox vaultBlank
Open settingsCtrl + ,
Open vault…Blank
Outgoing links: Open outgoing links for the current fileBlank
Outgoing links: Show outgoing linksBlank
Outline: Open outline of the current fileBlank
Outline: Show outlineBlank
Properties view: Show all propertiesBlank
Properties view: Show file propertiesBlank
Publish: Open in live siteBlank
Publish: Publish changesBlank
Publish: Publish current fileBlank
Quick switcher: Open quick switcherCtrl + 0
Reload app without savingBlank
Remove headingBlank
Rename fileF2
Rename this heading…Blank
Reset zoomBlank
Save current fileCtrl + S
Search and replace in current fileCtrl + H
Search current fileCtrl + F
Search: Search in all filesCtrl + Shift + F
Set as heading 1Blank
Set as heading 2Blank
Set as heading 3Blank
Set as heading 4Blank
Set as heading 5Blank
Set as heading 6Blank
Show context menu under cursorBlank
Show debug infoBlank
Show in system explorerBlank
Show release notesBlank
Show trashBlank
Slides: Start presentationBlank
Split downBlank
Split rightBlank
Sync: Show activity logBlank
Sync: Open version history for current fileBlank
Sync: Set up SyncBlank
Sync: Show Sync historyBlank
Table: Add column to the leftBlank
Table: Add column to the rightBlank
Table: Add row aboveBlank
Table: Add row belowBlank
Table: Align center (text)Blank
Table: Align left (text)Blank
Table: Delete columnBlank
Table: Delete rowBlank
Table: Duplicate columnBlank
Table: Duplicate rowBlank
Table: Move column leftBlank
Table: Move column rightBlank
Table: Move row downBlank
Table: Move row upBlank
Tags view: Show tagsBlank
Templates: Insert current dateBlank
Templates: Insert current timeBlank
Templates: Insert templateBlank
Toggle blockquoteBlank
Toggle boldCtrl + B
Toggle bullet listBlank
Toggle checkbox statusCtrl + L
Toggle codeBlank
Toggle commentCtrl + /
Toggle default mode for new tabsBlank
Toggle fold on current lineBlank
Toggle fold properties in current fileBlank
Toggle headingBlank
Toggle highlightBlank
Toggle inline mathBlank
Toggle italicCtrl + I
Toggle left sidebarBlank
Toggle light/dark modeBlank
Toggle line numbersBlank
Toggle Live Preview/Source ModeBlank
Toggle numbered listBlank
Toggle pinBlank
Toggle readable line lengthBlank
Toggle reading viewCtrl + E
Toggle ribbonBlank
Toggle right sidebarBlank
Toggle spellcheckBlank
Toggle stacked tabsBlank
Toggle strikethroughBlank
Toggle window always on topBlank
Undo closed tabCtrl + Shift + T
Unfold all headings and listsBlank
Unindent list itemBlank
Web viewer: Focus address barBlank
Web viewer: Open web viewerBlank
Web viewer: Reset zoomBlank
Web viewer: Save to vaultBlank
Web viewer: Search the webBlank
Web viewer: Show historyBlank
Web viewer: Toggle reader modeBlank
Web viewer: Zoom inBlank
Web viewer: Zoom outBlank
Workspaces: Load workspace layoutBlank
Workspaces: Manage workspace layoutsBlank
Workspaces: Save and load another layoutBlank
Workspaces: Save layoutBlank
Zoom inBlank
Zoom outBlank

Keychain

Secrets

Secrets are used to store information like API keys and passwords.

When clicking the plus sign to add a secret, you will receive this popup:

Add secret

ID Lowercase letters, numbers, and dashes only.

Secret Enter your secret

Core plugins

Audio recorder

Record audio notes and save them as attachments.

In core-plugins.json

Default:

  "audio-recorder": false

My settings

I turned this on.

Related hotkeys:

Show links from other files to the current file. Backlinks can be shown in a separate view or at the bottom of the note.

In core-plugins.json

Default:

  "backlink": true

Make backlinks visible in new tabs by default.

In backlink.json

Only written to backlink.json upon update. If there isn’t a backlink.json, it will be created.

Default:

  "backlinkInDocument": false

Related hotkeys:

Bases

Create custom views that let you edit, sort, and filter files using their properties.

In core-plugins.json

Default:

  "bases": true

Related hotkeys:

  • Bases: Add item
  • Bases: Add view
  • Bases: Copy table to clipboard
  • Bases: Create new base
  • Bases: Insert new base
  • Bases: Switch view…

Bookmarks

Save shortcuts to files, searches, headings, and graphs.

In core-plugins.json

Default:

  "bookmarks": true

Related hotkeys:

  • Bookmarks: Bookmark all tabs…
  • Bookmarks: Bookmark block under cursor…
  • Bookmarks: Bookmark current search…
  • Bookmarks: Bookmark heading under cursor…
  • Bookmarks: Bookmark…
  • Bookmarks: Remove bookmark for the current file
  • Bookmarks: Show bookmarks

Canvas

Arrange and connect notes on an infinite canvas.

In core-plugins.json

Default:

  "canvas": true
Default location for new canvas files
  • Vault folder (“root”)
  • Same folder as current file (“current”)
  • In the folder specified below (“folder”)

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

Default:

  "newFileLocation": "root"

My settings

I selected “Same folder as current file”.

Folder to create new canvas file in

Newly created canvas files will appear under this folder. This setting only appears “In the folder specified below” is selected.

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

Default:

  "newFileFolderPath": ""

The JSON property is retained even after switching the file location to a different dropdown option. However, the JSON property only takes effect when the location is set to “In the folder specified below”.

Default mouse behavior
  • Pan (“pan”)
  • Zoom (“zoom”)

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

Default:

  "defaultWheelBehavior": "root"
Default Ctrl + Drag behavior
  • Show menu (“menu”)
  • Add card (“card”)
  • Add note from vault (“note”)
  • Add media from vault (“media”)
  • Add webpage (“webpage”)
  • Create group (“group”)

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

Default:

  "defaultModDragBehavior": "menu"
Show card names
  • Always (“always”)
  • On hover (“hover”)
  • Never (“never”)

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

Default:

  "cardLabelVisibility": "always"
Snap to grid

Snap cards to the background grid when moving and resizing.

In canvas.json

If there isn’t a canvas.json, it will be created.

Default:

  "snapToGrid": "true"
Snap to objects

Snap cards to nearby objects when moving and resizing.

In canvas.json

If there isn’t a canvas.json, it will be created.

Default:

  "snapToObjects": "true"
Zoom threshold for hiding card content

Lower values will increase performance but hide card content sooner when zooming out.

In canvas.json

Only written to canvas.json upon update. If there isn’t a canvas.json, it will be created.

The slider value ranges from -0.7 to 2.39.

Default:

  "zoomBreakpoint": 0

Editing the value to a number not within the slider range will not have any effect.

Related hotkeys:

Command Palette

Use Cmd/Ctrl + P and begin typing to invoke a command.

In core-plugins.json

Default:

  "command-palette": true
Pinned commands

You can pin certain commands to always appear at the top of the command suggestions when using the Command Palette.

Related hotkeys:

  • Command palette: Open command palette

Daily notes

Create or open today’s daily note.

In core-plugins.json

Default:

  "daily-notes": true
Date format (Daily notes)

Choose how daily notes are named in your vault.

  • 2026-12-31 (“YYYY-MM-DD”)
  • 2026.12.31 (“YYYY.MM.DD”)
  • 2026/12/31 (“YYYY/MM/DD”)
  • 2026/12/2026-12-31 (“YYYY/MM/YYYY-MM-DD”)
  • Custom

In daily-notes.json

Only written to daily-notes.json upon update. If there isn’t a daily-notes.json, it will be created. Default:

  "format": "YYYY-MM-DD"
Custom format

For more syntax, refer to format reference.

NOTE

Whatever is placed in the field will be applied to the format JSON property in daily-notes.json,

My settings

I used YYYY/MMMM/YYYY-MM-DD

Related hotkeys:

File recovery

Restore recent snapshots to recover from accidental data loss. Snapshots are only saved for Markdown files.

In core-plugins.json

Default:

  "file-recovery": true
Snapshot interval

Minimal interval in minutes between two snapshots.

In file-recovery.json

If there isn’t a file-recovery.json, it will be created. Default:

  "intervalMinutes": 5
History length

Number of days the snapshots are kept for.

In file-recovery.json

If there isn’t a file-recovery.json, it will be created. Default:

  "keepDays": 7
Snapshots

View and restore saved snapshots.

Clear history

Delete all snapshots.

Upon clicking “Clear”, you will receive this popup:

Clear history

Are you sure you want to delete your snapshots? Files in your vault will not be affected.

[ Clear ] [ Cancel ]

Related hotkeys:

  • File recovery: Open local history

Files

Browse the files and folders in your vault.

In core-plugins.json

Default:

  "file-explorer": true

Related hotkeys:

  • Create new note
  • Create new note in current tab
  • Create note to the right
  • Files: Create new folder
  • Files: Reveal current file in navigation
  • Files: Show file explorer
  • Make a copy of the current file
  • Move current file to another folder

Footnotes view

Show a list of footnotes from the current note.

In core-plugins.json

Default:

  "footnotes": false

Related hotkeys:

  • Footnotes view: Show footnotes

Format converter

Convert Markdown from other apps to Obsidian format.

In core-plugins.json

Default:

  "markdown-importer": false

Related hotkeys:

Graph view

Visualize the relationships between your notes.

In core-plugins.json

Default:

  "graph": true

Related hotkeys:

Note composer

Merge two notes or split one into two.

In core-plugins.json

Default:

  "note-composer": true
Text after extraction

What to show in place of the selected text after extracting it.

  • Link to new file (“link”)
  • Embed to new file (“embed”)
  • None (“none”)

In note-composer.json

If there isn’t a note-composer.json, it will be created. Default:

  "replacementText": "link"
Template file location (Note composer)

Template file to use when merging or extracting. Available variables: {{content}}, {{fromTitle}}, {{newTitle}}, {{date:FORMAT}}, e.g. {{date:YYYY-MM-DD}}.

In note-composer.json

If there isn’t a note-composer.json, it will be created. Default:

  "template": ""
Confirm file merge

Prompt before merge two files.

In note-composer.json

If there isn’t a note-composer.json, it will be created. Default:

  "askBeforeMerging": true

Related hotkeys:

Show outgoing links and detect unlinked mentions of other notes in the current note.

In core-plugins.json

Default:

  "outgoing-link": true

Outline

Show the table of contents for the current note.

In core-plugins.json

Default:

  "outline": true

Related hotkeys:

  • Outline: Open outline of the current file
  • Outline: Show outline

Page Preview

Hover an internal link to preview its contents. In editor mode, press Ctrl/Cmd while hovering.

In core-plugins.json

Default:

  "page-preview": true
Require Ctrl to trigger page preview on hover

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "search": true
Reading view

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "preview": false
Editing view

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "editor": true
Tab header

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "tab-header": true
Files

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "file-explorer": true
Properties view

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "properties": true
Bookmarks

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "bookmarks": true
Outline

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "outline": true
Bases

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "bases": true
Graph view

In page-preview.json

Only written to page-preview.json upon update. If there isn’t a page-preview.json, it will be created. Default:

  "graph": true

Properties view

Show the metadata for your files in the sidebar.

In core-plugins.json

Default:

  "properties": true

Related hotkeys:

  • Properties view: Show all properties
  • Properties view: Show file properties

Publish

Host your notes online as a website, wiki or documentation.

In core-plugins.json

Default:

  "publish": false

Bug

No Oxford comma.

Related hotkeys:

Quick switcher

Jump to other files with your keyboard.

In core-plugins.json

Default:

  "switcher": true
Show existing only

Only show results from existing files. Links to files that are not yet created will be hidden.

In switcher.json

Only written to switcher.json upon update. If there isn’t a switcher.json, it will be created. Default:

  "showExistingOnly": false

My settings

I set it to true.

Show attachments

Show attachment files like images, videos, and PDFs.

In switcher.json

Only written to switcher.json upon update. If there isn’t a switcher.json, it will be created. Default:

  "showAttachments": true
Show all file types (Quick switcher)

Show all file including ones that Obsidian can’t open. The file will be opened with the default app for that file type.

In switcher.json

Only written to switcher.json upon update. If there isn’t a switcher.json, it will be created. Default:

  "showAllFileTypes": false

My settings

I set it to true.

Related hotkeys:

Random note

Open a random note to rediscover or review.

In core-plugins.json

Default:

  "random-note": false

Search for a keyword in all notes.

In core-plugins.json

Default:

  "global-search": true

Related hotkeys:

  • Search: Search in all files

Slash commands

Trigger commands in the editor by using the forward slash key.

In core-plugins.json

Default:

  "slash-command": false

Slides

Create a presentation by using ”---” to separate slides.

In core-plugins.json

Default:

  "slides": false

Related hotkeys:

Sync

Synchronize your files through Obsidian Sync.

In core-plugins.json

Obsidian Sync is Obsidian’s add-on sync service with end-to-end encryption and version history.

To start syncing, please log in or create a new Obsidian account.

Default:

  "sync": true

My settings

I set this to false.

Related hotkeys:

Tags view

Show a list of all tags and their number of occurrences.

In core-plugins.json

Default:

  "tag-pane": true

Related hotkeys:

  • Tags view: Show tags

Templates

Insert template content from a folder of template files.

In core-plugins.json

Default:

  "templates": true
Template folder location

Files in this folder will be available as templates.

In templates.json`

Only written to templates.json upon update. If there isn’t a templates.json, it will be created. Default:

  "folder": ""
Date format (Templates)

{{date}} in the template file will be replaced by this value. You can also use {{date:YYYY-MM-DD}} to override the format once. For more syntax, refer to format reference

In templates.json`

Only written to templates.json upon update. If there isn’t a templates.json, it will be created. Default:

  "dateformat": ""

Bug

Missing period.

Time format

{{time}} in the template file will be replaced by this value. You can also use {{time:HH:mm}} to override the format once. For more syntax, refer to format reference

In templates.json`

Only written to templates.json upon update. If there isn’t a templates.json, it will be created. Default:

  "timeformat": ""

Bug

Missing period.

Unique note creator

Create notes with unique timestamp prefixes, for workflows like zettelkasten or slip box.

In core-plugins.json

Default:

  "zk-prefixer": false

New file location

The folder path to create the new unique note in.

In zk-prefixer.json

Only written to zk-prefixer.json upon update. If there isn’t a zk-prefixer.json, it will be created. Default:

  "folder": ""

Template file location (Unique note creator)

The file path to use as template.

In zk-prefixer.json

Only written to zk-prefixer.json upon update. If there isn’t a zk-prefixer.json, it will be created.

Default:

  "template": ""

Unique prefix format

For more syntax, refer to format reference

In zk-prefixer.json

Only written to zk-prefixer.json upon update. If there isn’t a zk-prefixer.json, it will be created.

Default:

  "format": ""

Bug

Missing period.

Web viewer

Open external links to web pages inside Obsidian.

In core-plugins.json

Default:

  "webviewer": false

Open links in Obsidian rather than the system default.

In webviewer.json

Only written to webviewer.json upon update. If there isn’t a webviewer.json, it will be created.

Default:

  "openExternalURLs": true

Homepage

What page to view when a web viewer is opened

In webviewer.json

Only written to webviewer.json upon update. If there isn’t a webviewer.json, it will be created.

Default:

  "homepage": ""

Bug

Missing period.

Saved page folder

Websites saved as markdown will be placed here.

In webviewer.json

Only written to webviewer.json upon update. If there isn’t a webviewer.json, it will be created.

Default:

  "markdownPath": ""

Search engine

Search engine used when searching from the address bar.

  • DuckDuckGo (“duckduckgo”)
  • Brave (“brave”)
  • Bing (“bing”)
  • Google (“google”)
  • Custom (“custom”)

In webviewer.json

Only written to webviewer.json upon update. If there isn’t a webviewer.json, it will be created.

Default:

  "searchEngine": "duckduckgo"

My settings

I set it to "bing".

Custom search engine

Search engine used when searching from the address bar.

In webviewer.json

Only written to webviewer.json upon update. If there isn’t a webviewer.json, it will be created.

Default:

  "customSearchEngine": "https://duckduckgo.com/?q=%s"

The JSON property is retained even after switching the search engine to a different dropdown option. However, the JSON property only takes effect when the search engine is set to “Custom”.

Enable ad blocker

If enabled, the filter lists below will be applied to all web viewer tabs.

In webviewer.json

If there isn’t a webviewer.json, it will be created.

Default:

  "enableAdblocking": true

Ad blocking rules

One ad block list URL per line. Shared by all vaults.

Default:

Ad block update frequency

Days between updating filter lists. 0 indicates disabled. Shared by all vaults.

Default: ??? (slider ranges from 0 to 24)

Web view data

When clicking “Clear web viewer data”, you will receive this popup:

Clear web viewer data

Cookies May sign you out of websites.

Cached data

History

All web viewer data Removes all the above as well as local storage and active sessions.

Related hotkeys:

Word count

Show word count in the status bar.

In core-plugins.json

Default:

  "word-count": true

Workspaces

Save and load workspace layouts.

In core-plugins.json

Default:

  "workspaces": false

My settings

I set it to true.

Related hotkeys:

Community Plugins

Restricted mode

Turn on to disable community plugins.

Community plugins

Browse and install community plugins made by our amazing community.

Automatically check for updates

Periodically check for plugin updates

Default: false

My settings

I set it to true.