Top on Product Hunt

Notes that think and run.

A clean, local Markdown editor for your own .md files. Ask your notes, run your code, connect your tools, push it all to git — without leaving the note.

Download free → See how it works
✓ Free ✓ Local .md files ✓ No account
Znote — asking the AI to suggest the next book, with @Reading List picked as context right in the note
Znote — a JavaScript code block rendering a bar chart inline, right in the note
★ 5.0 · Top on Product Hunt used by tech leads, POs and indie devs built by one indie dev

Ask your own notes.

Type @ to pick what the AI should read, / to pick a prompt. The answer lands inline, in the note you're writing.

a
Summarize a meeting note
@meeting-monday → the decisions and the action items.
b
Turn a rough idea into a user story
@user-story-template → a clean story, written in your format.
c
Your own slash commands
/brainstorm opens a live chat that becomes a note; /rewrite cleans one up. Each command is a markdown file you can edit.
brainstorm.md AI ready
# Brainstorm — gym finder app
I want make app for people find gym close. Right
now hard to know where gyms are. Also booking
for class complicated.
user-interviews.md
research
user-story-template.md
templates
competitor-research.md
research
Turn this idea into a user story, following @user-story-template.
Your files in, answer inline — no chat window, no copy-paste.

A code block becomes a little tool.

Write a JS block, press play: query a database, call an API, parse a file — the chart or table renders inline. Save the note and you've built a tool.

a
The Monday sales chart
db.query(...)barChart(rows). Change the year, press play.
b
Clean up a CSV export
Parse, filter, and render the table right next to your notes.
c
Your own tiny status page
await fetch(...) your APIs, print the results. Rerun anytime.
q1-channels.md ran 230ms
# Q1 channel performance
```js
// change the year, press play
const rows = await db.query(`
  SELECT channel, month, SUM(amount)
  FROM orders WHERE year = 2026
`)
barChart({ horizontal: true, series: rows })
```
↓ inline output
total_sales by channel · 2023
Facebook Google
2023-01 2023-02 2023-03 2023-04 0 100 200 300 400
Save the note — it's a tool now. Press play next week.

Your notes, connected to your tools.

Znote speaks MCP, the open standard that connects AI to real tools. Write tools= in an AI block and the model can query, search and create — in GitHub, Postgres, Slack, Linear…

a
The standup that writes itself
tools=github → open PRs, yesterday's commits, a three-line brief.
b
Ask your database in English
tools=postgres → the AI reads your schema, writes the SQL, answers with a table.
c
Any server, one config file
Same format as Claude Desktop — paste a config and it works. 22 ready-to-run examples →
standup.md 2 tools connected
# Monday standup
```ai tools=github
Open PRs and yesterday's commits on
acme/webapp — draft my standup brief.
```
One config file — GitHub, Postgres, Slack, Linear, and hundreds more.

Push your notes. Not your passwords.

Your vault is plain files — git-compatible, never required. Pull, commit and push from the app. And a note's passwords stay encrypted beside it, so the note is safe to commit.

a
Git from the sidebar, if you use it
Point your vault at a repository and ↓ ↑ appear when there is something to do, with a letter on every note that moved: A new, M modified, I incoming.
b
Passwords, encrypted next door
Write secret:cisco.password in the note; the value lives in an encrypted sidecar. Standard sops + age — readable from a terminal, without Znote.
c
Nothing slips into a commit
Znote protects every push: it reads what is about to leave and stops on a token left in the clear. How secrets work →
Infra.md pushed to origin/main
# Infra
Console : console.acme.io
Login   : jane@acme.io
Password: ••••••••
```bash
curl -H "Authorization: Bearer ${secret:api.token}"
```
↓ what git carries
M Infra.md plain text — no password in it
A Infra.secrets.yaml encrypted · shared with the team
Infra.local.secrets.yaml never committed
The note is safe to commit — the password was never in it.

"My main tool for working."

"

The best "Jupyter-like" notebooks for JS.

mmrcbns
"

My go-to JavaScript playground. Run code directly in the app — huge time-saver. Clean interface, easy to navigate.

SSanjeet
"

Incredible product. Lets users learn and prototype faster. The AI integration is fantastic and JS+Markdown support is top-notch.

AAli

Just Markdown.

A calm WYSIWYG editor for plain .md files on your disk. Free, offline, no account — your Obsidian vault opens as-is.

WYSIWYG Beautiful themes Full-text search Plain .md · offline

Free to use.
Bring your own key.

Every feature, no license, no subscription. The AI runs on your own key — OpenAI, OpenRouter, or 100% local with Ollama — so you pay your provider at cost, or nothing at all with Ollama.

free · no account · your notes stay on your disk

Frequently asked.

Yes — the app and every feature are free, with no license to buy. The AI runs on your own key (OpenAI, Ollama, OpenRouter): you connect it once and pay your provider at cost, or nothing at all with Ollama running on your machine.
Znote is a focused Markdown editor with four things built in: AI that answers from your own notes, code blocks you can run, MCP servers that connect your real tools, and git to version the whole vault — output appears inline, in the note you are writing. No plugins, no cloud, no subscription. And since it's all plain .md, your Obsidian vault opens as-is.
Yes. The AI features need a key you provide — OpenAI, OpenRouter, or Ollama for a fully local setup. Znote walks you through it on first launch. Your models, your privacy, no markup, and nothing to buy from us.
On your machine. Plain .md files in folders you choose. No cloud, no account, no telemetry by default.
MCP (Model Context Protocol) is the open standard that lets AI use real tools. Declare servers in your vault — GitHub, Postgres, Slack, Linear, your filesystem, hundreds more — and your AI blocks can query, search and create through them. The config format is the same as Claude Desktop, and the servers run locally on your machine.
Still have questions? See full FAQ →