How to Migrate Notes to Obsidian: Files, Links, and Folders
Summary
- Export or gather your existing notes into plain files first, then move them into an Obsidian vault folder structure you control.
- Standardize file formats (preferably Markdown) and filenames early to avoid broken links and duplicate notes later.
- Fix internal links by converting them to Obsidian-style links and keeping note titles/paths stable during the move.
- Handle attachments (images, PDFs) deliberately so links keep working and your vault stays portable across devices.
- Do a staged migration (small batch, verify, then scale) and keep a rollback copy until you are confident everything is intact.
Migrate notes to Obsidian by collecting your existing notes into files, converting them to Markdown where needed, moving them into a vault folder structure, and then repairing links and attachments so everything resolves correctly.
What you are migrating (and what can break)
Obsidian is file-based: your notes live as files in folders on your computer. That is great for portability, but it also means your migration success depends on how cleanly you move three things:
- Files: note content (Markdown, text, HTML exports, or converted documents).
- Links: internal links between notes, plus links to attachments.
- Folders: your organizational structure (and any assumptions your old app made about notebooks, tags, or databases).
The most common migration failures are: duplicated notes, broken internal links after renames, missing attachments, and “mystery formatting” from rich-text sources.
Step 1: Make a safe migration workspace
Before you touch Obsidian, create a workspace on disk so you can iterate without risking your original notes.
- Make a backup export from your current app (or copy the entire notes directory if it is already file-based).
- Create a staging folder (for example: Notes-Migration-Staging) where you will clean and convert files.
- Create a new Obsidian vault in a separate folder (for example: Obsidian-Vault). You can migrate into an existing vault, but a fresh vault makes troubleshooting easier.
If your current notes app is database-driven, you may need to export to a file format it supports (Markdown, HTML, plain text, or a proprietary export). If it exports HTML or rich text, plan on extra cleanup.
Step 2: Choose your target file format (aim for Markdown)
Obsidian works best with Markdown notes. If your notes are already Markdown or plain text, you are in good shape. If not, you have options:
- Markdown export (best when available): preserves headings, lists, code blocks, and many links more cleanly.
- HTML export: can be converted to Markdown, but formatting and embedded elements may need manual fixes.
- DOCX/PDF: you can keep them as attachments, or convert to Markdown/text if you need them searchable and linkable as notes.
Practical rule: if you want to link to it and edit it in Obsidian, convert it to Markdown. If you only need to reference it, keep it as an attachment and link to the file.
Step 3: Normalize filenames before importing
Obsidian links are sensitive to note names. If you rename files after importing, you can create broken links (depending on how links were created and how your migration handled them). Normalize filenames early in the staging folder:
- Pick a naming style (for example: “Title Case.md” or “kebab-case.md”).
- Avoid characters that cause cross-platform issues (for example:
:,*,?,<,>,|). - Resolve duplicates (two notes named “Meeting Notes” from different notebooks may collide when exported).
Example: If you have multiple “Daily Notes” files, rename them to include a date: Daily Note - 2026-11-04.md.
Step 4: Plan your Obsidian folder structure (then stick to it)
Folders in Obsidian are just folders on disk. The best structure is the one you can maintain without constant reshuffling. Two migration-friendly approaches:
Option A: Mirror your old notebooks
If your current system is notebook-based and you like it, recreate it as folders:
Work/Personal/Projects/Project A/
This is the lowest-friction approach, and it reduces the amount of link rewriting you may need if your export already groups notes.
Option B: Use a simple “Inbox + Areas + Projects + Reference” layout
If your old structure is messy, migrate into a simpler layout and clean up gradually:
Inbox/(new or unprocessed notes)Projects/(active work)Areas/(ongoing responsibilities)Reference/(evergreen material)Attachments/(images, PDFs)
Migration tip: do not reorganize everything on day one. Move notes in, verify links, then refactor structure in smaller passes.
Step 5: Move files into the vault (small batch first)
Start with a representative sample (for example, 50-200 notes) rather than importing everything at once. Copy the cleaned Markdown files from your staging folder into the appropriate folders inside your vault.
- Open the vault in Obsidian.
- Confirm notes render correctly (headings, lists, code blocks).
- Spot-check search results for a few key terms.
If you see widespread formatting issues, pause and adjust your conversion process before importing the rest.
Step 6: Migrate attachments (and keep attachment links stable)
Attachments are where migrations often go sideways. Decide where attachments will live and how notes will reference them.
Recommended: a dedicated attachments folder
Create a folder such as Attachments/ (or assets/) inside the vault and place images/PDFs there. Then ensure your note links point to the correct relative location.
What to watch for
- Broken relative paths: exports may reference
../resources/image.pngor an app-specific folder name that no longer exists. - Filename collisions: many apps export images as
image.png,image-1.png, etc. Consider renaming to something meaningful if you rely on them. - Embedded vs linked: some exports embed images in HTML rather than linking to files. You may need to extract images and update references.
Step 7: Fix internal links (the “links” part of the migration)
Internal links can be migrated cleanly, but only if you understand what you are converting from and to.
Common link types you may encounter
- Markdown links:
[Note Title](Note%20Title.md) - Wiki-style links:
[[Note Title]](Obsidian-friendly) - App-specific deep links: links that point to a proprietary scheme (these usually cannot be preserved as functional internal links in Obsidian)
Practical link-repair workflow
- Keep note titles stable while you repair links. Renaming too early makes it harder to diagnose what broke.
- Convert links to Obsidian-style where possible (for example, turning Markdown file links into
[[...]]links). The exact method depends on your source format and how it exported links. - Search for patterns that indicate broken links (for example, leftover export paths like
resources/,attachments/, or HTML anchors).
Example: If your exported Markdown contains [Project Plan](../notebooks/Project%20Plan.md) and you moved everything into Projects/, update it to [[Project Plan]] (or adjust the relative path if you prefer file links).
When links cannot be preserved
If your old app used internal IDs (not filenames) for linking, exports may produce links that do not map cleanly to files. In that case, you may need to:
- Keep the old link as a reference (so you can find the original note), and
- Manually recreate the Obsidian link once you locate the target note.
Step 8: Handle special content (checklists, tables, highlights, and callouts)
Not all note features translate cleanly to Markdown. Plan to review these items after import:
- Tables: HTML tables may convert poorly; you may need to reformat them as Markdown tables.
- Highlights/colors: rich-text highlighting may be lost or converted into HTML spans.
- Checklists: confirm they became
- [ ]tasks rather than plain bullets. - Code blocks: verify fenced code blocks (triple backticks) survived conversion.
If your notes rely heavily on rich formatting, consider keeping some notes as HTML or PDF attachments and linking to them, rather than forcing a lossy conversion.
Step 9: Verify the migration (spot checks that catch real problems)
After you import a larger batch, do targeted verification:
- Link integrity check: open a few hub notes (indexes, project dashboards) and click through multiple links.
- Attachment check: open notes with images/PDFs and confirm they render or open.
- Search check: search for a unique phrase you know exists in multiple notes.
- Duplication check: look for repeated titles or near-identical files created by multiple exports.
Keep your original export until you have completed these checks and you are confident you can find everything you need in the vault.
Step 10: Keep your migration portable (so you do not have to do it again)
The main advantage of moving to Obsidian is that your notes become ordinary files. To keep that portability:
- Prefer Markdown notes over proprietary formats when you can.
- Keep attachments inside the vault (or in a clearly defined adjacent folder) so moving the vault does not break references.
- Avoid hard-coded absolute paths in links.
- Document your conventions (naming, folder layout, attachment location) in a “Vault README” note.
Where CopyCharm fits in a notes-to-Obsidian migration (files, links, and reuse)
During a migration, you will repeatedly copy the same pieces of text: link-conversion patterns, filename conventions, folder rules, and “fix this formatting” snippets. CopyCharm (a Windows desktop app) can help you keep those migration snippets close at hand while you work across your exporter, file system, and Obsidian.
A concrete workflow: save, find, reuse migration snippets
- What you save: copied text you keep reusing, such as:
- a standard front-matter block you want at the top of certain notes (if you use one)
- a checklist for post-import verification (links, attachments, duplicates)
- common link rewrites (example patterns like
[Title](path/Title.md)to[[Title]]) - your folder conventions (where attachments go, how you name files)
- When you find it: while cleaning exports in your staging folder, renaming files, or editing notes in Obsidian, you can search your past clips in CopyCharm to pull up the exact snippet you used earlier.
- How you reuse it: copy the snippet from CopyCharm and paste it into Obsidian (or into a text editor) to apply the same fix consistently across many notes.
Using saved prompts separately (optional)
If you also keep reusable prompts for rewriting or standardizing notes (for example, “convert this HTML note into clean Markdown headings and lists”), CopyCharm lets you save reusable prompts separately from favorite clips. You can then retrieve and reuse those prompts while you work.
ChatGPT connector vs manual copy/paste (important boundary)
If you choose to use ChatGPT during your migration, CopyCharm offers an authenticated ChatGPT connector backed by optional AI Access sync. After you sign in with an eligible active CopyCharm purchase, authorize the desktop connection, enable and complete AI Access sync, and authorize the connector, ChatGPT can search and retrieve only supported synced data (Favorite Clips, Saved Prompts, and optional Other Clips within your selected time range). ChatGPT cannot access unsynced local CopyCharm data.
For Claude, Gemini, Cursor, email, documents, and other applications, the workflow is manual: search or retrieve the text in CopyCharm, then copy/paste it into the destination app.
Try CopyCharm for migration snippets and reusable text
Frequently Asked Questions
FAQ 1: What is the safest way to migrate notes to Obsidian without losing anything?
Answer: Export or copy your notes into a staging folder first, keep an untouched backup of the original export, migrate a small batch into a new vault, verify links and attachments, then scale up. Keep the backup until you have confirmed you can find key notes and open key attachments in Obsidian.
Takeaway: Use a staged migration with a rollback copy.
FAQ 2: Should I convert everything to Markdown before importing into Obsidian?
Answer: Convert notes you want to edit and interlink as first-class Obsidian notes. Keep items you only need to reference (like some PDFs) as attachments and link to them. If your export is HTML, expect some cleanup after conversion because rich formatting does not always map cleanly to Markdown.
Takeaway: Convert what you will actively edit; attach what you will only reference.
FAQ 3: How do I keep internal links working after moving notes into folders?
Answer: Stabilize filenames first, then move notes into your target folders, and only then repair links. If your exported notes use file-path Markdown links, you may need to update relative paths or convert them to Obsidian-style [[Note Title]] links. Avoid mass renaming until you have confirmed links resolve the way you expect.
Takeaway: Filenames first, folders second, link repair third.
FAQ 4: What should I do with images and PDFs when migrating to Obsidian?
Answer: Put attachments in a consistent location (many people use an Attachments/ folder inside the vault) and make sure note references point to the new paths. Watch for exports that reference app-specific resource folders or embed images in HTML, which may require extracting files and updating links.
Takeaway: Choose an attachment home and update references to match it.
FAQ 5: How do I handle duplicate note titles or filename collisions?
Answer: Resolve collisions in your staging folder before importing. Add a qualifier like a date, project name, or source notebook to the filename. If your old app allowed identical titles in different notebooks, exporting to a single folder can create conflicts that you need to fix before Obsidian can treat them as distinct files.
Takeaway: De-duplicate filenames before the vault import.
FAQ 6: What breaks when migrating from a database-style notes app to Obsidian files?
Answer: Features that depend on internal IDs or proprietary formatting can fail to translate cleanly: deep links between notes, rich-text styling, embedded widgets, and some task or table formats. You can usually preserve the content, but you may need to recreate links and simplify formatting once everything is file-based.
Takeaway: Content usually migrates; app-specific behaviors may not.
FAQ 7: Can I reorganize folders during the migration, or should I wait?
Answer: If you reorganize while importing, you increase the chance of broken links and confusion about where a note “should” live. A safer approach is to import into a stable structure first (even if it mirrors your old notebooks), verify everything works, then refactor folders in smaller passes once you trust the vault.
Takeaway: Migrate first, reorganize second.
FAQ 8: Can CopyCharm help me reuse migration checklists, link-fix snippets, or prompts while moving notes to Obsidian?
Answer: Yes. CopyCharm can save copied text locally so you can search past clips, favorite important clips, and separately save reusable prompts. During a migration, that can be useful for repeatedly applying the same cleanup checklist, link-rewrite patterns, or formatting snippets across many notes. If you enable AI Access sync and authorize the authenticated ChatGPT connector, ChatGPT can search and retrieve only supported synced data; it cannot access unsynced local CopyCharm data.
Takeaway: Use it as a reusable snippet shelf while you clean and import notes.
