# Writing Markdown
URL: https://usememos.com/docs/usage/writing-markdown

Memos stores memo content as plain text and renders it with Markdown. That keeps content portable while still supporting rich formatting such as checklists, tables, code blocks, and links.

## Core syntax [#core-syntax]

````markdown
# Heading 1
## Heading 2

**bold**
_italic_
~~strikethrough~~

- [ ] open task
- [x] completed task

```go
fmt.Println("hello from memos")
```
````

## Common patterns [#common-patterns]

* headings for longer notes
* task lists for planning
* fenced code blocks for snippets
* blockquotes for references
* tables when structure matters
* tags like `#project-x` inline in the memo body

## Code blocks [#code-blocks]

Use fenced code blocks with a language identifier when useful:

````markdown
```ts
const visible = memo.visibility === "PUBLIC";
```
````

## Checklists [#checklists]

Task lists are especially useful in Memos because they turn ordinary notes into lightweight work queues:

```markdown
- [ ] Draft release notes
- [ ] Review production config
- [x] Create backup
```

## Writing tips [#writing-tips]

* keep one memo focused on one topic or update
* use headings in longer memos so they remain readable
* prefer plain Markdown over screenshots of text
* use tags consistently so search and shortcuts stay useful
* choose visibility carefully before sharing externally
* use code fences and blockquotes to make technical notes easier to scan later
