Pick a note from the list, or start a new one. Everything you write is Markdown — headings, checklists, tables and fenced code blocks all render live.
Ctrl/⌘ N newCtrl/⌘ S saveCtrl/⌘ F searchCtrl/⌘ \ sidebarEsc close
Saved
This note is in the Trash. It is read-only until restored.
Are you sure?
New category
Download note
—
Copy notes
Settings
Appearance, storage, Firebase and your data
Appearance
Tune how GlassNotes looks on this device.
Theme
System follows your operating system setting.
Glass intensity
How much blur the translucent surfaces apply. Lower is faster on older hardware.
Panel layout
Drag the dividers between the sidebar, the notes list and the editor to resize them; double-click a divider to reset it.
Widths and collapsed panels are remembered on this device.
Notes
Defaults applied to the notes list and the editor.
Default sorting
Used when the app opens.
Default editor view
Split shows the editor and live preview side by side on wide screens.
Auto-save
Saves shortly after you stop typing. When off, use Ctrl/⌘ + S.
Confirm before delete
Ask before moving a note to Trash. Permanent deletions always ask.
Storage
Choose where your notes live. Local and cloud notes are stored separately — switching never moves or deletes anything on its own.
Firebase Cloud becomes available once you enter a valid Firebase configuration in the Firebase tab.
Move notes between storages
Copying is always a deliberate action. Nothing is deleted from the source, and notes whose ID already exists in the destination are skipped.
Firebase Cloud
Enter the Firebase Web App configuration from your Firebase Console (Project settings → Your apps → Web app → SDK setup and configuration).
Not configuredFirebase is not configured yet. Add your configuration below to enable Cloud storage.
Your credentials are stored locally in this browser under glassnotes_firebase_config and are never included in the application source code or sent anywhere except to Firebase itself.
Firestore Security Rules
A Firebase Web API key is not a secret — it identifies your project, it does not protect it. Access is controlled entirely by the Firestore Security Rules that you configure in the Firebase Console. GlassNotes has no server and no Admin SDK credentials.
Testing only — anyone can read and write
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /notes/{noteId} {
allow read, write: if true; // ⚠ never ship this
}
}
}
If you deploy GlassNotes publicly, do not leave the rule above in place — an open database can be read, altered or emptied by anyone who finds it. Add Firebase Authentication and scope every note to its owner. The Firestore repository in this app is written so an auth check and a per-user collection path can be layered in later without touching the UI code.
Production shape — requires Firebase Authentication
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId}/notes/{noteId} {
allow read, write: if request.auth != null
&& request.auth.uid == userId;
}
}
}
GlassNotes uses Cloud Firestore only. It never loads Firebase Storage, never uploads files, and never asks for a service account or service-role key.
Data
Everything below acts on the Local Storage notes you are currently using.
Export all notes
A JSON backup containing every note — normal, pinned, archived and trashed.
Import notes
Load a GlassNotes JSON backup. Existing notes are never overwritten — clashing IDs get a fresh one.
Empty trash
Permanently deletes every note currently in the Trash.
Delete all notes
Wipes every note in the current storage. This cannot be undone — export a backup first.
GlassNotes
Version 1.0.0 · Single-file web app
A Markdown notes app that runs from one HTML file. Notes live in this browser by default and work with no network, no account and no setup. Add a Firebase Web App configuration and the same app writes to Cloud Firestore instead.
Keyboard shortcuts
New noteCtrl/⌘ + N
Save nowCtrl/⌘ + S
Focus searchCtrl/⌘ + F
Bold / ItalicCtrl/⌘ + B / I
Close dialog / overlayEsc
Open settingsCtrl/⌘ + ,
Where your notes are stored
Local Storage — browser key glassnotes_notes. Clearing site data removes them, so export a backup now and then.
Firebase Cloud — the notes collection in your own Cloud Firestore database, one document per note.
Settings live in glassnotes_settings; Firebase credentials in glassnotes_firebase_config. Neither is ever sent to GlassNotes — there is no GlassNotes server.
Built with
Tailwind CSS, marked, DOMPurify, highlight.js and the Firebase Web SDK (App + Firestore only), all loaded from public CDNs. No build step, no framework, no backend, no file uploads.