An Obsidian plugin to connect RedNote/Xiaohongshu (小红书) with Obsidian, with support for media downloads and categorizations.
The flow below illustrates how a RedNote link is processed and converted into a formatted note in your vault:
sequenceDiagram
actor User
participant IM as Input Modal
participant PM as Preview Modal
participant ON as Output Note (Saved)
User->>IM: Paste share text / URL
IM->>PM: Fetch and parse content details
User->>PM: Customize fields & toggle media download
PM->>ON: Save and open the formatted note
Below is a step-by-step preview of the import process using the plugin:
Paste the shared link or text containing the link to start fetching.

Review the parsed title, content, template layout, category, and toggle local media download.

The scraped content is formatted according to the template with all tags and local media embedded.

xiaohongshu.com and rednote.com domains, as well as xhslink.com mobile short links.obsidian://rednote-import protocol link. Excellent for iOS Shortcuts or Tasker on Android.-1, -2, etc., avoiding data overwrite.Import RedNote Note from the command palette.You can open the following URI on your mobile device (e.g. from an iOS Shortcut share action) to trigger a background import:
obsidian://rednote-import?url=<REDNOTE_URL>&category=<CATEGORY>&downloadMedia=true
You can customize the structure of your note body and frontmatter properties in the settings tab.
{{title}}: The title of the post (hashtags removed).{{content}}: The post body content description.{{media}}: Note media block (HTML video element, or Markdown images list). When used inside YAML properties, it renders the raw media path/URL (useful for cover: or thumbnail: fields).{{source}} / {{url}}: The source RedNote link.{{date}}: Current date in YYYY-MM-DD format.{{category}}: The selected note category.{{media}}
{{title}}
{{content}}
To run and install the plugin in your local Obsidian vault:
cp .env.example .env
.env and set OBSIDIAN_VAULT_PATH to the absolute path of your Obsidian vault.npm install
npm run install-local