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

HackMD Push

enyaw9enyaw922 downloads

One-click push your notes to HackMD.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates7

One-click push your Obsidian notes to HackMD.

Features

  • Push the current note to HackMD with a single command or ribbon click
  • Create or update — the plugin remembers the remote note ID and syncs to the same note on subsequent pushes
  • Title & tags synced automatically from frontmatter
  • Frontmatter stripped before upload so HackMD shows clean content
  • Auxiliary commands: copy link, open in browser, unlink note

Installation

Manual (current)

  1. Download the latest obsidian-hackmd-push.zip from Releases
  2. Unzip and place the obsidian-hackmd-push folder into your vault's .obsidian/plugins/ directory
  3. In Obsidian: Settings → Community plugins → Enable HackMD Push

Only main.js and manifest.json are required to run the plugin.

Setup

  1. Open Settings → HackMD Push
  2. Click ① 開啟 HackMD 設定頁 to open hackmd.io/settings#api in your browser (you must be logged in)
  3. Create a new API token on that page
  4. Paste the token into ② 貼上 Token
  5. Click ③ 驗證 — you should see your HackMD username appear

Usage

With any Markdown note open:

Action How
Push to HackMD Command palette → Push current note to HackMD, or click the cloud icon in the ribbon
Copy link Command palette → Copy HackMD link
Open in browser Command palette → Open in HackMD
Unlink note Command palette → Unlink from HackMD

On first push the plugin creates a new HackMD note and writes three fields into your frontmatter:

hackmd-id: abc123xyz
hackmd-url: https://hackmd.io/@username/note-slug
hackmd-pushed-at: 2026-07-28T00:00:00.000Z

Subsequent pushes update the same remote note.

Frontmatter integration

The plugin reads the following frontmatter fields before uploading:

title: My Note Title     # used as the HackMD note title; falls back to filename
tags: [CISSP, security]  # synced to HackMD tags; string or array both accepted

The frontmatter block itself is stripped from the uploaded content.

Default permissions

Permission Default
Read Everyone (guest)
Write Signed-in users
Comment Disabled

All three can be changed in Settings.

Security note

Your API token is stored in plain text at .obsidian/plugins/hackmd-push/data.json. If your vault is synced via iCloud, Obsidian Sync, or Git, the token travels with it. Treat it like a password and regenerate it if you suspect exposure.

Known limitations

  • Local attachments (![[image.png]]) are not uploaded — HackMD cannot access files on your machine
  • Wikilinks ([[note]]) are not converted — they appear as plain text on HackMD
  • Sync is one-way: Obsidian → HackMD. Edits made on HackMD will be overwritten on next push
  • Obsidian callouts (> [!note]) are not converted to HackMD container syntax

Development

git clone https://github.com/EnyaWu/obsidian-hackmd-push
cd obsidian-hackmd-push
npm install

# watch mode (symlink main.js into your vault's plugin folder for live reload)
npm run dev

# production build
npm run build

See ARCHITECTURE.md for a detailed breakdown of every source file.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Push the current Obsidian note to HackMD with one click or command, creating or updating the same remote note by remembering the remote note ID. Sync title and tags from frontmatter while stripping the frontmatter before upload, and use quick commands to copy the HackMD link, open the note in a browser, or unlink.
IntegrationsSyncingPublishing
Details
Current version
0.5.3
Last updated
6 days ago
Created
Last week
Updates
7 releases
Downloads
22
Compatible with
Obsidian 1.4.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
enyaw9enyaw9enyawu
GitHubenyawu
  1. Community
  2. Plugins
  3. Integrations
  4. HackMD Push

Related plugins

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Digital Garden

Publish your notes to a digital garden for others to enjoy.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

GitHub

Share as Gist

Share a note as a GitHub.com Gist.

Remotely Save

Sync notes between local and cloud with smart conflict: S3, Dropbox, webdav, OneDrive, Google Drive, Box, pCloud, Yandex Disk, Koofr, Azure Blob Storage.

Quartz Syncer

Manage and publish your notes to Quartz, the fast, batteries-included static-site generator.

OneDrive Sync

Sync your Obsidian vault with OneDrive Personal/Consumer

WebDAV Sync

General-purpose & bidirectional WebDAV syncing for your vault. Designed for stability and robust file handling without vendor lock-in.

BRAT

Easily install a beta version of a plugin for testing.