# Tags
URL: https://usememos.com/docs/usage/tags

Tags are created directly from memo content. Write `#tagname` anywhere in a memo and Memos extracts it automatically.

## Tag basics [#tag-basics]

```markdown
Working on the #backend API today.
This relates to #project-alpha and #development.

Meeting with #team tomorrow to discuss #roadmap.
```

Tags inside Markdown links are ignored. Escape a literal tag with a backslash, such as `\#not-a-tag`. Tag names support Unicode letters and combining marks.

## Personal tag appearance [#personal-tag-appearance]

Open your user settings to assign a background color or content-blur rule to a tag. These rules are personal: each user controls how matching tags and memo content appear in their own account.

Rules accept exact tag names or anchored regular-expression patterns. For example, `project/.*` applies to every tag under that prefix. Memos validates a pattern before saving it.

When upgrading to 0.30, existing instance-level tag metadata is copied to current users during migration. Later changes are stored per user.

## Good tag habits [#good-tag-habits]

* pick a consistent case style
* avoid near-duplicate tags for the same concept
* use hyphens for multi-word tags
* prefer a small, predictable vocabulary over endless one-off tags

## Filters [#filters]

Memos also supports richer filtering beyond plain text search. Saved filters and shortcuts can combine tags with memo properties.

Examples:

```txt
tag in ["work"]
tag in ["work"] && visibility == "PRIVATE"
has_incomplete_tasks
has_link
tags.exists(t, t.startsWith("project"))
```

## When tags help most [#when-tags-help-most]

* ongoing projects
* meeting notes
* recurring areas of work
* public knowledge you want to group consistently

## Related workflows [#related-workflows]

* use [shortcuts](/docs/usage/shortcuts) to save filters you run often
* combine tags with [search](/docs/usage/search-archive) when browsing older memos
* align tag naming with how your team expects to browse content
