5 Year Diary

Write today's entry and instantly see what you wrote on this same day in past years. Everything stays in your browser — encrypted, private, never uploaded.

AES-GCM encrypted · stored in IndexedDB · zero server contact
🔐

Your diary is protected by a passphrase you choose. It never leaves your device. Enter it below to unlock — or create one if this is your first time.


First time? Just enter any passphrase — your diary will be created with it.
⚠️ If you forget the passphrase, entries cannot be recovered.

How it works

A 5-year diary is a single book with 365 pages — one for each day of the year. Each page has five sections, one per year. The idea: flipping to today's page reveals what you wrote on this same date in previous years. This tool brings that experience to your browser, privately.

1. Choose a passphrase Your passphrase is fed into PBKDF2 (100,000 iterations, SHA-256) to derive an AES-GCM key. That key never leaves the tab.
2. Write your entry Each entry is encrypted with a fresh random 12-byte IV, then stored in IndexedDB keyed by ISO date (YYYY-MM-DD).
3. Same-day comparison When you open the diary, it fetches the entries for today's MM-DD in years −1 through −4 and decrypts them alongside today.
4. Zero server contact No network requests are made after the page loads. Encrypted blobs never leave IndexedDB in your browser.

Frequently asked questions

What happens if I forget my passphrase?
The entries are encrypted with AES-GCM using a key derived from your passphrase via PBKDF2. Without the correct passphrase the ciphertext cannot be decrypted — there is no back door, no recovery email, and no server that stores a copy. Write your passphrase down somewhere safe, like a password manager.
Can I use this on multiple devices?
Data is stored in each browser's IndexedDB independently — entries written in Chrome on your laptop are not visible in Safari on your phone unless you export from one and import into the other. Use the Export and Import buttons in Settings to move data between devices or browsers.
What does "5-year diary" mean exactly?
A traditional 5-year diary (also called a "line a day" journal) has one physical page per calendar day. Each page is divided into five horizontal strips — one for each of five consecutive years. The value: on any given day you can glance back at what you wrote on the same date one, two, three, or four years ago. This tool replicates that experience digitally, showing the current year's entry at the top and up to four prior years below it.
Is there a word or character limit?
There is no hard limit enforced by this tool — entries can be as long as you like. IndexedDB comfortably handles entries in the megabyte range. Traditional 5-year diaries often have one or two lines per year by design, but digital text is free of that constraint.
What encryption does this use, and is it really secure?
Each entry is encrypted with AES-256-GCM using the Web Crypto API — the same standard used by TLS and modern password managers. The key is derived from your passphrase with PBKDF2-SHA256 at 100,000 iterations and a random per-device 16-byte salt. AES-GCM is authenticated encryption, so any tampering with the ciphertext will cause decryption to fail rather than silently produce garbled text.
Will my entries survive if I clear browser data?
No — clearing site data or IndexedDB in your browser will erase all entries. If you plan to clear storage, export a backup first using the Export button in Settings. Entries stored in IndexedDB typically persist through normal browser use, but they are not part of browser sync (like bookmarks), so they stay local to that specific browser profile on that device.