Pratiyush Tiwari17 downloadsGive your notes an Apple-inspired appearance with five themes, a floating outline, bundled icons, and optional editing tools.
An Apple-inspired appearance and editing toolkit for Obsidian, with coordinated theme presets, system typography, consistent block spacing, and a small set of optional features.
Requires Obsidian 1.13.0 or later. Native Notes supports macOS, Windows, Linux, iPhone, and iPad using Obsidian and browser APIs. Native Notes is published in the Obsidian Community Plugins directory, with its independent source repository at PratiyushT/native-notes. Native in-app validation on Windows, Linux, iPhone, and iPad is still outstanding; automated checks and desktop fixtures do not replace device testing.
Add to Obsidian · Installation guide · GitHub releases
Open Settings → Native Notes after enabling the plugin. Its palette, navigation, typography, lists, tables, properties, quotes, callouts, code, math, diagrams, block spacing, and hover refinements work together as the core appearance. Styling for compatible optional plugins applies automatically when those plugins are present. The plugin supplies its own styles; no separate Native Notes theme or Style Settings plugin is required. Start with Obsidian's Default theme for the most predictable appearance.
Disable Native Notes under Settings → Community plugins to return to the underlying theme while retaining your preferences.
All settings appear on one page under Appearance, Optional features, and Profiles. Appearance includes a palette strip showing the selected colors.
| Setting | Choices |
|---|---|
| Color theme | Notes, Ocean, Forest, Rose, or Graphite. Each includes coordinated light and dark colors; Obsidian's Appearance setting selects the active mode. |
| Text size | Small, Default, or Large. |
| Sidebar density | Comfortable or Compact. |
| Optional features | Floating outline, Show heading levels, Empty line marks, Nested bullet shapes, Extra table spacing, Image alignment, Folder and note icons, Show language beside filename, Editable code headers, Translucent navigation, and Hide left ribbon. |
| Empty line symbol | Return arrow, Paragraph mark, Dot, Circle, Dash, or Line break. The existing on/off switch controls visibility. |
| Profiles | Export or import JSON preferences and restore defaults. |
Changes apply immediately. Fonts follow the system, and spacing, readable width, code padding, and block gaps are coordinated by the theme. Core styling is included whenever Native Notes is enabled.
Enable Settings → Native Notes → Optional features → Floating outline, then click the outline icon in the note toolbar. You can also run Native Notes: Toggle floating outline from the command palette.
The outline is built into Native Notes and works without Dynamic Outline. Disable the separate Dynamic Outline plugin to avoid having two outline controls. Native Notes does not automatically change another plugin's enabled state.
Under Optional features, turn on Empty line marks and choose Empty line symbol. A small preview shows the selected SVG. Return arrow is the default; Paragraph mark, Dot, Circle, Dash, and Line break are also available. Your choice is retained when marks are turned off and transfers with your profile. Marks follow actual empty source lines. Obsidian’s empty-looking caret slots around rendered tables are not marked. Marks do not appear in Reading view or print.
With Folder and note icons enabled, expanded sidebar folders show an open-folder icon and collapsed folders show a closed-folder icon. Notes keep a separate document icon. The vault root remains unchanged.
All Native Notes-owned icons, including the floating outline controls, are original SVG vectors bundled in the plugin. No Iconize, icon pack, icon font, remote asset, or separate download is required. System text fonts and Obsidian's own controls use the host platform; Shiki's optional code-header integration remains separate.
Settings → Native Notes → Optional features → Extra table spacing is off by default. Off uses Obsidian's normal table margins; on adds 16px above and 24px below the table. Cell styling stays consistent in either setting. The preference transfers with settings profiles.
Live Preview can show caret space around a rendered table even when no blank source line exists. Native Notes keeps those native editing affordances and does not label them as empty lines. Use Source mode to inspect the actual Markdown. Obsidian requires a blank line between a preceding paragraph and a table, but allows tables immediately after headings. Following plain paragraph text also needs separation so it is not treated as another row. These syntax rules are separate from the visual spacing switch. See Obsidian's table separation requirement, the heading exception, and GFM table parsing.
Settings → Native Notes → Optional features → Image alignment is on by default. In Live Preview, hover over a standalone image or Mermaid diagram and open Alignment beside Zoom. Choose Left, Center, or Right. Touch devices show the controls without hover. Reading view displays the saved alignment without editing controls.
Alignment is horizontal and applies to each block separately. Full-width media already occupies the available width, so its position will not visibly change. Existing image dimensions and diagram contents stay intact. Changes use normal editor undo and preserve the current scroll position.
The choice is saved in a hidden HTML comment immediately before the image or Mermaid fence, for example <!-- native-notes:align=center -->. It travels with the note; the plugin must be installed and this feature enabled to display the alignment. Turning the switch off removes the controls and custom alignment without deleting saved choices. Source mode shows the comment so it can also be edited or removed manually.
Supported blocks are standalone wiki images, standalone Markdown images, and root-level Mermaid fences. Images embedded inside text, tables, lists, callouts, reference-style images, and ambiguous source ranges are left unchanged.
With Shiki Highlighter enabled, compatible rendered code blocks support direct header editing in Live Preview:
The plugin does not install or change Shiki Highlighter. Ordinary code styling works without it; its expressive frames and direct header editing require that optional integration. Frames explicitly marked frame="none" remain hidden. Titles inferred from source comments remain static; their separate language label can be edited when the source block can be identified. If a source block cannot be identified safely, its contents are left unchanged.
Native Notes uses CSS, bundled SVG icons, and fonts available on your device. No Apple frameworks, downloaded fonts, external icon packs, Electron, or Node.js are required at runtime.
| Platform | Appearance and controls |
|---|---|
| macOS | System typography and native window controls. Obsidian's Translucent window preference can provide translucent sidebars where supported. |
| Windows | System typography with Segoe UI fallbacks, solid sidebars, and the standard window controls. |
| Linux | System typography with Noto Sans, Ubuntu, and Cantarell fallbacks, solid sidebars, and the host's window controls. |
| iPhone and iPad | System typography, solid surfaces, and controls that work without hover. |
The Translucent navigation setting can soften desktop popovers; transparent sidebars are limited to macOS. Turning it off uses solid surfaces. Fonts and window materials can vary across operating systems. The layout respects reduced-motion and reduced-transparency preferences where the host exposes them.
Open Settings → Community plugins, turn on community plugins if prompted, and select Browse. Search for Native Notes, select Install, then Enable. Open Settings → Native Notes to configure it. You can also use Add to Obsidian on its directory page.
No build tools, separate theme, or BRAT installation are required. Manual installation from a GitHub release remains available in the installation guide. Preserve data.json when updating a manual installation.
For another device, you can synchronize the installation and preferences through Obsidian Sync after enabling community-plugin and plugin-settings synchronization on both devices. To transfer just the settings, use Settings → Native Notes → Profiles → Export → Copy, then Import on the receiving device. If automatic clipboard copying is unavailable, select the JSON and use your device's Copy command. A profile transfers preferences; the plugin must already be installed on the receiving device.
The installation and device-transfer guide also covers manual releases and optional beta installation through BRAT using PratiyushT/native-notes. JSON file export is an additional convenience; its download behavior has not been verified on physical iPhone or iPad hardware.
New exports use profile version 2. Version 1 profiles and saved preferences migrate to the closest theme preset and text-size choice, while retained optional switches and sidebar density carry forward. The new presets supply coordinated colors, system fonts, and spacing rather than preserving individual legacy color, font, and gap values.
When moving from the earlier local setup, disable Native Code Titles and the native-folder-note-icons snippet, then choose the Default theme before enabling Native Notes. Keep their files as a fallback until you are satisfied with the new setup. Native Notes does not automatically remove other plugins, rewrite their preferences, or change your selected theme.
Native Notes does not send telemetry or make network requests. Preferences are stored with Obsidian's plugin settings API. Appearance changes do not rewrite note contents. Editing a code header intentionally changes only the corresponding opening fence metadata or language token. Choosing image alignment adds or updates a single hidden comment for that block. Settings profiles contain Native Notes preferences, not the contents of your vault.
Use Node.js 24 and run npm ci, npm run lint, npm test, then npm run build. Development and packaging commands are portable across Windows, macOS, and Linux. GitHub Actions runs validation on all three operating systems. The source package includes contribution guidance, testing and release checks, and the community submission checklist.
A matching version tag publishes exactly three runtime assets: main.js, manifest.json, and styles.css. GitHub provides source archives automatically. npm run package creates a verified local install ZIP under release/ for convenience; it is not uploaded as a release asset.
This repository is separate from The NotesHub application. It owns its source, dependencies, assets, issues, and releases, and has no shared build or runtime files with NotesHub. Work from this repository rather than any archived prototype. The source is provided under the MIT license.
Native Notes is an independent project and is not affiliated with Apple or Obsidian.