explaingit

tholman/zenpen

3,769JavaScriptAudience · writerComplexity · 1/5LicenseSetup · easy

TLDR

ZenPen is a distraction-free writing web app that gives you a blank page and nothing else, no menus, no clutter, and saves everything automatically to your browser with no account or server needed.

Mindmap

mindmap
  root((ZenPen))
    What it does
      Distraction free writing
      Auto saves locally
      Basic text formatting
    Interface
      Blank page
      Selection toolbar
      No menus
    Storage
      Browser localStorage
      No account needed
      No cloud backup
    Audience
      Writers
      Journalers
      Focus seekers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Write first drafts or journal entries without interface distractions, directly in your browser

USE CASE 2

Self-host a private distraction-free writing space with no account or external server required

USE CASE 3

Fork the code to build a customized minimal writing tool tailored to your own workflow

Tech stack

JavaScriptHTMLCSSLocalStorage

Getting it running

Difficulty · easy Time to first run · 5min

Writing is stored in browser localStorage only, clearing your browser data permanently deletes all text with no way to recover it.

MIT license, use, copy, modify, or sell it freely with no restrictions beyond keeping the copyright notice.

In plain English

ZenPen is a minimalist writing web app designed to remove distractions and help you focus on the words. The interface strips away menus and toolbars, giving you a blank page to write on. A small formatting toolbar appears when you select text, offering basic styling options, but otherwise the screen stays clear. Everything you type is saved automatically to your browser's local storage, which means your writing stays on your device without needing an account or a server. As long as you use the same browser, your text will be there when you return. This also means nothing is backed up to a cloud service, so clearing your browser data would erase your work. The project is a web app built with JavaScript and can be run directly in a browser. It was created by Tim Holman and is available under the MIT license, so the code is free to use and modify. The README is brief and the project's scope is intentionally narrow: a distraction-free writing surface and nothing more.

Copy-paste prompts

Prompt 1
I want to add a live word count display to ZenPen that appears unobtrusively in a corner. Show me which JavaScript file handles the text content and how to add an updating word counter without breaking the minimal UI.
Prompt 2
I want to extend ZenPen so it saves writing to a local file instead of localStorage. Write the JavaScript code using the File System Access API to save to a specific .txt file the user picks once.
Prompt 3
Show me how to modify ZenPen to support a markdown preview toggle, pressing a keyboard shortcut switches between the plain editing view and a rendered HTML preview of the same text.
Open on GitHub → Explain another repo

← tholman on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.