Exporting Ulysses Groups to an External Folder

I’ve been using Ulysses for years, and it’s been great, but lately, I’ve realized it’s become a bit of a dumping ground for all sorts of notes and old projects I don’t need anymore. I got into Ulysses because of Markdown—love that simplicity—but over time, I got trapped in their proprietary XML format, which isn’t the easiest to work with outside their ecosystem. So, I decided it’s time to clean house, get back to Markdown, and focus Ulysses on just the content I’m actively publishing. Today, I’m gonna walk you through how to export your Ulysses groups to external folders as Markdown or other formats, and share some of the quirks and workarounds I’ve discovered along the way.

Unlocking Your Ulysses Sheets: Pitfalls of Exporting to Markdown

Step 1: Make Sure External Folders Are Visible

Let’s make sure you can see external folders in Ulysses. I actually had this turned off in my preferences for a while, so I had to flip it back on. Head to your Ulysses settings, and check the box for “External Folders” to make them visible in the sidebar. Once that’s done, you’ll see them listed, ready for action.

External Folders should be checked so they are visible in the sidebar

Step 2: Create a New Folder for Your Exports

Next up, let’s create a spot for your exported files. I’m doing this in Finder on my iCloud Drive, but you can store these anywhere. Just a heads-up—if you’re using a cloud service like iCloud, make sure no one else is messing with the files at the same time, or you might run into sync issues. For me, these are personal files, so iCloud works fine. Create a new folder and then drag it into the “External Folders” section in Ulysses. You’ll see it highlight as you drop it in.

Create an Empty External Folder

Step 3: Configure the Folder Format (Markdown or TextBundle?)

When you drop the folder into Ulysses, a dialog box pops up, and this is where you decide how your files are gonna be saved. My goal is Markdown, so I check the box for “Read and Write Markdown Files.” If you leave it unchecked, Ulysses will just store its own format in the external folder, which isn’t what I’m after—I’m trying to break free from that! You can also pick your Markdown extension (I go with .md).

There’s another choice below Markdown called TextBundle or TextPack. I did some digging, and TextBundle is this open standard that a bunch of Mac apps support. It uses the Mac package format to bundle everything together—text, images, all of it—into what looks like a single file. TextPack is just a compressed version of that, but I prefer TextBundle since I want easy access to the raw Markdown files without unzipping anything.

Configure your folder to support only Markdown or Textbundle instead of Ulysses. If you don’t check the box you will just store the Ulysses formatted docs in your filesystem.

Textbundle is an open file format that is better for storing images.

Step 4: Drag Your Group to the External Folder

Now, pick the group in Ulysses you want to export. I recommend dragging the entire parent group over to the external folder. Why? Because if you’ve got sheets at the root of the group (not in subgroups), they won’t come along unless you grab the whole thing. When you do this, Ulysses might warn you about data loss—stuff like images or annotations might not make it through, depending on the format you picked. More detail below.

First drag the parent group to the external folder in Ulysses.

Annotations and Image will be lost when you copy out of the Ulysses library if you choose Markdown. They will be kept if you choose Textbundle.

Step 5: Markdown vs. TextBundle—What Gets Lost?

Alright, let’s talk about what happens when you export. I did some experiments, and here’s the deal:

Markdown: If you choose straight Markdown, it’s super clean for text, but images? Forget it. They don’t copy over. You’ll see empty image links in the Markdown file, and there’s no URL or reference to even track down the original image. If your sheets are image-heavy, linking them back manually is a pain.

TextBundle: When I dragged my group to a TextBundle-configured folder, the images came along. They’re stored in an “assets” folder inside the bundle, and I can double-click to see them. You can right-click a TextBundle in Finder, choose “Show Package Contents,” and peek inside—there’s an info.json, the Markdown text file, and the assets. It’s all readable and editable with other text editors. The catch? Annotations still don’t survive—Ulysses doesn’t support them in external folders, so they’re gone no matter what.

So, while I wanted pure Markdown files, TextBundle is a solid compromise since it preserves more of my data, especially images.

Step 6: Clean Up the Folder Structure

After exporting, you might notice Ulysses creates a nested folder structure in Finder that mirrors your group hierarchy. I didn’t want two levels of folders, so I went into Finder, selected the visible files (ignore the hidden ones Ulysses uses for tracking), and dragged them up a level. The sidebar in Ulysses updates automatically to reflect this. Then, I deleted the empty subgroup folder to keep things tidy.

Go to the Finder and move the contents of the folder one level down to reduce the folder hierarchy.

Special Case: Exporting from Ulysses Projects

Ulysses has this “Projects” feature where a project takes over the whole sidebar, hiding your external folders. If you’ve got a group in a project you want to export, you’ll need to open a new Ulysses window. Drag the group from the project window to the external folder in the second window. It’s a bit of a workaround, but it gets the job done. This is handy if you’re trying to move away from projects and keep only essential publishing stuff in Ulysses.

Drawback: Publishing to WordPress with External Files

One bummer I ran into is with publishing to WordPress. If your content is in a TextBundle, the images preview fine in Ulysses and seem to publish to WordPress without issues. But if you’ve got a Markdown file with images referenced in a subfolder in Finder (not as part of a TextBundle), Ulysses won’t upload them to WordPress. It just fails in the preview stage because it doesn’t translate those file system references. So, if blogging is your thing, TextBundle might be your best bet for exporting while keeping images intact for publishing.

Files referenced in the file system won’t be converted and uploaded to WordPress like they are if you use the Ulysses native library.

Final Thoughts

That’s pretty much it, folks! Exporting from Ulysses to Markdown or TextBundle is a great way to declutter and get your content into a more portable format. TextBundle ended up being my go-to since it saves images, even if I lose annotations. It’s not perfect, but it works for what I need. If you’ve got questions or run into snags, drop a comment below (if you’re reading this on my blog or watching the video on YouTube), and I’ll do my best to help out.