Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Syntax Palette

FrankFrank84 downloads

Syntax coloring for Markdown fenced code, with 15 theme families and optional backgrounds, line numbers, and editor wrapping.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

English · 简体中文

Syntax Palette

Make code blocks look the way you like.

Choose a syntax color palette for Markdown code blocks without changing the rest of your Obsidian theme. Your notes, app colors, and other parts of Obsidian keep their usual look.

See it in Obsidian

Real Obsidian screenshot showing Syntax Palette colors in a light appearance; Chinese interface. Real Obsidian screenshot showing Syntax Palette colors in a dark appearance; Chinese interface.

Light and dark appearances with different code palettes.

Real screenshot of the plugin settings page in Obsidian.

The settings page lets you choose palettes and optional code-block features.

These are genuine screenshots from an isolated Obsidian test vault, captured with the v0.5.2 development build before the plugin was renamed from Atom One Fenced Syntax. The settings screenshot still shows that earlier name; the code colors and controls shown are real.

What changes — and what stays the same

Obsidian's theme controls the whole app. Syntax Palette gives Markdown fenced code blocks their own color choices, so you can keep your favorite Obsidian theme and choose code colors that suit you.

The palette applies inside fenced code blocks. It does not recolor regular text or inline code, and it never edits your Markdown content. An optional setting can also change the fenced block's background.

Choose a palette

Pick from 39 color variants across 15 theme families, including GitHub, Atom One, Catppuccin, Tokyo Night, Ayu, Dracula, Nord, and more. Choose a light palette and a dark palette separately, so each follows the matching Obsidian appearance.

You can also:

  • Turn code-block backgrounds on or off. They are off by default.
  • Show line numbers, with each code block starting at 1. They are off by default and are not copied into your notes.
  • Choose whether long lines wrap in the editor (off by default). With wrapping off, each code block scrolls horizontally on its own; the rest of the note stays put.
  • Keep Obsidian's normal wrapping for regular text. The code-wrapping option only affects fenced code in the editor.

Syntax coloring is available for common languages including Python, JavaScript and TypeScript, JSON, Bash, HTML, and CSS. Unsupported or untagged code blocks keep Obsidian's own syntax colors.

How to use it

Once Syntax Palette is installed:

  1. Open Settings → Community plugins → Syntax Palette.
  2. Choose a palette for Light mode and another for Dark mode. You can use a family preset first, then adjust either choice separately.
  3. Turn on code-block backgrounds or line numbers if you want them.
  4. Set editor code wrapping to match how you like to read long lines.

Changes apply immediately and are saved for your next Obsidian session.

Availability and installation

Check the GitHub releases and Obsidian Community plugins for the current publication status. This source build's experimental mobile support has not yet been validated on mobile devices.

To install a published release manually, download main.js, manifest.json, and styles.css from the GitHub release. Put all three files in your vault's .obsidian/plugins/syntax-palette/ folder, reload Obsidian, and enable Syntax Palette under Settings → Community plugins. These three files contain everything the plugin needs; no additional WASM file is required.

For a local source build, use those same three files from plugin/syntax-palette/. See the installation notes.

Compatibility and known limits

  • Mobile installation is enabled for iOS, iPadOS, and Android as an experimental target. Real-device testing is still needed, especially for touch scrolling, selection, keyboard input, and rotation.
  • macOS has been tested with Obsidian 1.14.5. Windows and Linux are target platforms but have not yet been tested on those systems.
  • Pop-out windows are not supported.
  • The 39 built-in palettes cannot be extended with custom theme files.
  • When editor wrapping is off, long code lines use horizontal scrolling inside each fenced block.
  • On a narrow screen, enabling editor code wrapping can make long lines easier to edit.

For developers

The plugin source is in plugin-src/; bundled theme data, source details, and third-party license texts are in sources/. The build embeds the Oniguruma WASM payload into main.js, so the Community Plugins file set does not need a separate runtime asset. Full third-party notices ship in both main.js and THIRD-PARTY-NOTICES.txt. See theme provenance for theme credits and licensing, and development guide for the development and testing notes.

To build from source:

npm ci
npm run verify
npm run build
npm run package
npm run verify-build

License

Public author: Frank. This project credit does not establish copyright ownership of historical code or third-party resources.

Syntax Palette's own project code is offered under the Apache License 2.0. Bundled themes, grammar files, parser-derived code, and runtime components keep their original licenses; see THIRD-PARTY-NOTICES.txt for the notices and full license texts. The theme snapshots and their exact versions are documented in THEME-PROVENANCE.md.

Before contributing, please open an issue to discuss the change. See LICENSE-AUDIT.md and RELEASE-AUDIT.md for the current owner-review items.

HealthExcellent
ReviewPassed
About
Apply custom syntax color palettes to Markdown fenced code blocks without altering the rest of your Obsidian theme. Choose from 39 palettes across popular families like Atom One, GitHub, Dracula, Catppuccin and Tokyo Night, set separate light/dark palettes, and enable block backgrounds, line numbers, and editor code wrapping. Supports common languages such as Python, JavaScript, JSON, Bash, HTML and CSS. Mobile support is experimental and has not yet been validated on real devices.
SyntaxAppearance
Details
Current version
0.5.11
Last updated
3 days ago
Created
3 weeks ago
Updates
3 releases
Downloads
84
Compatible with
Obsidian 1.14.5+
Platforms
Desktop, Mobile
License
Apache-2.0
Report bugRequest featureReport plugin
Author
FrankFrankbilibilijojo
GitHubbilibilijojo
  1. Community
  2. Plugins
  3. Syntax
  4. Syntax Palette

Related plugins

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Supercharged Links

Add attributes to internal links with the values of target note's frontmatter attributes.

Style Settings

Adjust theme, plugin, and snippet CSS variables.

Link Favicons

See the favicon for a linked website.

Chat View

Chat View lets you quickly and easily create elegant Chat UIs in your Markdown Files.

Colored Tags

Colorize tags in different colors to visually distinguish them from each other.

Custom Font Loader

Customize your vault with any font you want (+ Support for Android and iOS).

Cursor-Smith

Forge your cursor with the most advanced cursor engine there is!

Custom Note Width

Effortlessly change the line width of each note individually. Provides multiple ways to customize the experience, making it both efficient and user-friendly to adjust line widths.