Skip to content

labrat-0/nota

Repository files navigation

✍️ Nota

A fast, local-first markdown editor in your browser.

Write. Preview. Export. Done — entirely on your machine.

PWA BYOK AI License


What is Nota?

Nota is a distraction-free markdown editor that runs fully in your browser — no account, no sign-up, no telemetry, no server. Open it, write, and your words stay on your machine.

It's a single static web app. Clone it, run it, and everything works offline: live preview, 40+ templates, a visual table editor, focus mode, DOCX import, PDF/Markdown export, and optional AI that fills in templates using your own API key.

There is no backend and nothing to host. The editor for people who love markdown and hate friction.


Features

Instant Loads in a blink. Static app, no onboarding, cursor's already blinking.
👁️ Live preview Rendered markdown side-by-side as you type, with word/character counts.
🔒 Yours by default Files live in your browser storage and on your disk via the File System Access API. Nothing leaves your machine.
📐 40+ templates Meeting notes, READMEs, blog posts, specs, and more.
Visual table editor Build GFM tables without counting pipes.
🎯 Focus mode Word-goal tracking to hit your daily target.
📥 DOCX → Markdown Drop in a Word doc, get clean markdown out (mammoth.js, client-side).
📦 Export One click to .md or PDF (via the browser print dialog).
🧠 AI, on your terms (BYOK) Bring your own key (OpenAI, Anthropic, OpenRouter, or any compatible endpoint). Your key stays in your browser.
🌙 Dark mode Of course.
📱 Installable PWA Add to home screen. Works offline. Feels native.

Run it locally

You need Node.js 18+ and npm.

git clone <your-fork-url>
cd nota
npm install
npm run dev            # http://localhost:5173

That's it — open the URL and start writing.

To produce a static bundle you can host anywhere (or just open from disk):

npm run build          # outputs to ./build
npm run preview        # serve the production build locally

The build in ./build is plain static files — drop them on any static host (Netlify, GitHub Pages, an S3 bucket, your own box) or serve them locally.


AI template-fill (optional, bring your own key)

AI is entirely opt-in and runs directly from your browser to your provider — no key ever touches a server.

  1. Open Settings (gear icon).
  2. Choose a provider: OpenAI, Anthropic, OpenRouter, or a custom OpenAI-compatible endpoint.
  3. Paste your API key.

The key is stored in your browser's localStorage. You pay your provider directly; Nota takes no cut and sees nothing.


Development

npm test               # run the vitest suite
npm run check          # svelte-check (types + a11y)

Tech stack

SvelteKit 2 · Svelte 5 runes · CodeMirror 6 · marked · mammoth.js · vite-plugin-pwa · @sveltejs/adapter-static

Lean, static, offline-first.


License

MIT — use it, fork it, ship it.

About

File converter

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors