# Use cases

View ChatGPT and Claude Markdown output on Mac

Last updated July 2026

ChatGPT and Claude write their answers in Markdown, so to read them with real headings, lists, tables, and code blocks, save the text as a .md file and open it in Unmarked on your Mac. The chat window renders the formatting live, but the moment you copy the text out, you get the raw source: hashes, asterisks, and pipes. Unmarked renders that source the way it was meant to look.

This is also how you read the Markdown files those assistants leave behind. A README.md, a CLAUDE.md, an exported transcript, a spec the model wrote into a file. Same format, same fix.

Unmarked renders the text the assistant already produced. It doesn't run the model or talk to it; it's a reader and editor for the output.

Why the copied answer looks like raw symbols

In the chat window, a heading shows as big bold text and a list shows as neat bullets. That rendering belongs to the website. Copy the answer into a plain note or a .txt file and the rendering is gone. What is left is the actual Markdown the model wrote:

## Setting up the project
 
Run these steps in order:
 
1. Install the dependencies
2. Copy the example config
3. Start the dev server
 
| Command | What it does |
| --- | --- |
| `npm run dev` | Starts the local server |
| `npm run build` | Builds for production |

That is correct Markdown. It is just unrendered. Open it in something that reads Markdown and the ## becomes a heading, the numbers become an ordered list, and the pipe table becomes a real table with cell borders.

Save the answer as a .md file

The trick is to keep the text as plain Markdown and give the file a .md extension.

  1. In ChatGPT or Claude, copy the full answer. Many answers have a copy button at the corner of the message; use it so you get the source, not a styled paste.
  2. Open any plain-text editor. TextEdit works if you switch it to plain text first (Format → Make Plain Text), or use the editor you already have.
  3. Paste the answer.
  4. Save the file with a .md ending, for example answer.md or setup-notes.md.

If you paste into a rich-text editor without switching to plain text, it can turn the Markdown into styled text and strip the symbols you need. Plain text keeps the # and * and | intact, which is exactly what the renderer reads.

You can also skip the copy step entirely for files that are already Markdown. A README.md from a repo or a CLAUDE.md an assistant wrote is ready to open as is.

Open it in Unmarked

Double-click the .md file, or open Unmarked and choose the file from the home screen. It opens in Read mode: the rendered document, no syntax shown.

The example above now reads as a proper section heading, a numbered list, and a two-column table. Headings, paragraphs, bold and italic, ordered and unordered lists, nested lists, blockquotes, inline code, fenced code blocks, links, and tables all render natively.

Two things help with AI output specifically.

Code blocks get a language label and a copy button in Read mode. When the model hands you a shell command or a Python function in a fenced block, you lift the whole snippet out in one click instead of dragging to select it. The label comes from the language name the model wrote after the opening fence, like python or bash.

Task lists render as real checkboxes. If the assistant gave you a checklist with - [ ] items, you can tick them off in Read mode, and the toggle saves back to the file.

A skeleton for saving an AI answer

When you want a clean file to drop an answer into, this structure holds up. Paste the model's text under the relevant heading.

# What I asked
 
A one-line note of the question or task.
 
## The answer
 
Paste the assistant's response here.
 
## Things to try
 
- [ ] First step
- [ ] Second step
- [ ] Third step
 
## Code
 
```bash
# paste any commands the model gave you
```
 
## Source
 
Which assistant, and the date.

Open that in Unmarked and the outline sidebar lets you jump between "What I asked," "The answer," and the rest by heading. The status bar shows a live word count and reading time. To keep editing, switch to Write mode for a clean source editor, or Split mode to see the source and the rendered view side by side.

What renders, and what shows as plain text

Most of what ChatGPT and Claude produce renders directly. Two things don't yet:

  • Footnotes ([^1]) and math or LaTeX ($...$) are not rendered yet. They appear as plain text. If a model answer leans on either, you will see the raw markup rather than a formatted footnote or equation.
  • Remote images, the kind written as an https:// link, show as their alt text. Unmarked has no network access, so it cannot fetch an image from the web. This includes README badges that point at a web service. A local image saved next to your file renders normally.

Everything else from a typical assistant answer, the headings and lists and tables and code, renders as written.

Editing and exporting the answer

Once the answer is in a file, it's yours to keep. Write mode gives you a clean source editor for tidying it, and Split mode puts source and rendered view side by side. When you're done, export to PDF, Word, or HTML, or copy as rich text to paste into Mail or Slack. Everything opens and saves in place, with no account and no cloud.

An AI answer rendering differently than you expect? Email support@untitledapps.dev with the saved .md file and we'll take a look.

Unmarked is a free, private Markdown reader and editor for Mac. Read the story , or get in touch.