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

Screwdriver

vrtmrzvrtmrz5k downloads

Utility to put any files in and out under your vault.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates14

Screwdriver exports files from inside your vault into a Markdown note, and restores those files from that note later.

screenshot

It is useful for moving or synchronising files that normal Markdown synchronisation workflows may not handle well, such as plug-in files, theme files, CSS snippets, or hidden files under .obsidian.

Since v0.0.7, Screwdriver can be controlled from note properties.

screenshot2

Features

  • Export files from selected folders into the current note.
  • Fetch remote files into the current note.
  • Restore exported files back into your vault.
  • Filter or ignore files while exporting.
  • Restore files under hidden folders such as .obsidian.

[!IMPORTANT] Screwdriver stores exported files inside a Markdown note. The note can become very large. Consider excluding Screwdriver notes from plug-ins that scan Markdown content heavily, such as Templater or Dataview.

How to use

Install

You can install Screwdriver in either of these ways:

  • From Community Plugins
  • Via BRAT

Basic local export workflow

Use these commands from the command palette:

  1. Screwdriver: Create local export note
  2. Screwdriver: Add folder to this export note
  3. Screwdriver: Export files into this note
  4. On another device or vault, run Screwdriver: Restore files from this note

The first command creates the required properties on the active note. The second command adds a folder to the targets property. The third command reads those properties and embeds the matching files into the note body.

Screwdriver note properties

A Screwdriver note for local exports uses properties like this:

targets:
  - .obsidian/plugins/tagfolder
urls: []
ignores:
  - /node_modules
  - /.git
filters:
  - main\.js$
  - manifest\.json$
  - styles\.css$
comment: "Use 'Add folder to this export note' to add targets"
tags: []
adjustObsidianDir: true
skipNewFile: false
skipOldFile: false

You usually do not need to write this by hand. Run Screwdriver: Create local export note on an empty note, then run Screwdriver: Add folder to this export note.

When you choose a plug-in or theme folder, Screwdriver adds common filters automatically:

  • Plug-ins: main.js, manifest.json, styles.css
  • Themes: manifest.json, theme.css
  • CSS snippets: selected .css files

You can edit these properties manually if needed:

  • targets: folders to export from
  • urls: remote files to fetch
  • ignores: paths to skip while exporting
  • filters: regular expressions for files to include
  • adjustObsidianDir: store the Obsidian config folder as .obsidian so the note can be restored across vaults
  • skipNewFile: do not overwrite an existing file with a newer exported copy
  • skipOldFile: do not overwrite an existing file with an older exported copy

To export several folders into the same note, run Screwdriver: Add folder to this export note more than once.

Fetch remote files

To create a note for remote files, run:

Screwdriver: Create remote fetch note

Then add URLs to the urls property and run:

Screwdriver: Export files into this note

This is useful for storing CSS snippets or other small text assets from remote sources.

Export files

Run:

Screwdriver: Export files into this note

Screwdriver keeps the note properties and appends exported files to the note body.

Example output:

---
targets:
  - .obsidian/plugins/tagfolder
urls: []
ignores:
  - /node_modules
  - /.git
filters:
  - main\.js$
  - manifest\.json$
  - styles\.css$
comment: "Use 'Add folder to this export note' to add targets"
tags: []
adjustObsidianDir: true
skipNewFile: false
skipOldFile: false
---

# .obsidian/plugins/tagfolder/main.js
- Created :2023/7/12 9:28:27
- Modified:2023/8/25 17:52:29

```screwdriver:.obsidian/plugins/tagfolder/main.js:plain:1692953549000
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plug-in
*/
```

[!TIP] You can edit exported text files directly in the note before restoring them.

Restore files

Run:

Screwdriver: Restore files from this note

Screwdriver restores files from fenced code blocks whose opening line starts with ```screwdriver:. It also supports compatible fenced blocks that contain a filename after the opening backticks.

[!IMPORTANT] Restore only from notes you trust. Screwdriver writes files to paths recorded in the note.

Restore paths must be canonical, portable Vault-relative paths using / separators. Screwdriver skips absolute paths, parent traversal, backslashes, empty path components, control characters, and names that are invalid or reserved on common desktop platforms. When adjustObsidianDir is enabled, the portable .obsidian/ prefix is validated and mapped below the active Vault configuration directory.

Screwdriver can be useful with Self-hosted LiveSync or remotely-save when you want to sync configuration files between devices.

HealthExcellent
ReviewSatisfactory
About
Dump files from specified directories using filters and ignore rules and export them into a single Markdown file. Put dumped files into any path inside your vault (including hidden directories); note the export can be very large, so exclude it from other plugin processing.
FilesExportMarkdown
Details
Current version
0.0.13
Last updated
4 weeks ago
Created
4 years ago
Updates
14 releases
Downloads
5k
Compatible with
Obsidian 1.4.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
vrtmrzvrtmrz
github.com/vrtmrz
GitHubvrtmrz
  1. Community
  2. Plugins
  3. Files
  4. Screwdriver

Related plugins

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Find orphaned files and broken links

Find files that are not linked anywhere and would otherwise be lost in your vault. In other words: files with no backlinks.

Omnisearch

Intelligent search for your notes, PDFs, and OCR for images.

Recent Files

Display a list of recently opened files.