Settings¶
Open from "⚙ Settings…" at the bottom of the Sidebar. There are ten tabs.
Most settings are per-device
These settings are generally stored on the device, not in the library (think browser localStorage). They do not travel when you copy the library folder to another machine — a trade-off to keep libraries portable.
The Backup tab is the exception. Backups are written into that library's
backups/, so the settings live with the library and travel with the folder.
Appearance¶
Theme¶
| Option | Behavior |
|---|---|
| Follow OS | Follows the OS light / dark setting (default) |
| Light | Always light |
| Dark | Always dark |
Language¶
Switches the UI language.
| Option | Behavior |
|---|---|
| Follow system | Follows the device language (Japanese → Japanese, anything else → English) (default) |
| 日本語 | Always Japanese |
| English | Always English |
- Switching applies immediately, without a restart, across the whole UI
- The macOS menu bar switches language as well
File dialogs follow the device language
Dialogs such as "choose an export destination" or "pick files to import", and the confirmation sheets, are drawn by the OS, so they follow the device language setting. Choosing "English" here does not switch them on a Japanese device (and vice versa). The confirm button's wording ("Export", "Import", …) does follow the app's language.
Note
Some error messages generated deep inside the app may still appear in Japanese for now.
File names in lists¶
Tick "Show file extensions" and names in lists change from meeting notes to
meeting notes.md (off by default).
It applies to four views: grid, list, calendar, and map.
| View | Extensions off | Extensions on |
|---|---|---|
| Grid | trip photo |
trip photo.jpg |
| List | trip photo |
trip photo.jpg |
| Calendar / Map | trip photo |
trip photo.jpg |
Quick Open and link suggestions always show extensions
Quick Open (Cmd+P) and the Inspector's "Links" field show the extension
regardless of this setting. There is no thumbnail and no kind column there — the
name is all you have, so you need to tell a .md and a .pdf of the same name apart.
- The change applies right away
- This setting is stored per device and never travels with the library
- Only the display changes; the file on disk is untouched (renaming in the Inspector never changes the extension either)
2-hop links¶
Tick "Show 2-hop links" and the Inspector lists, below the backlinks section, the items connected to the items you link with, grouped by the item they connect through (off by default). See Linking Items → 2-hop links for how they look and what you can do with them.
- The change applies right away
- This setting is stored per device and never travels with the library
- While it is off, 2-hop links are not looked up at all
Calendar¶
Controls how the calendar view looks.
Week starts on¶
| Choice | Behaviour |
|---|---|
| Sunday | The leftmost column is Sunday (default) |
| Monday | The leftmost column is Monday; Sunday moves to the right edge |
- The weekday headings and the position of the 1st shift together
- Up / Down still move by exactly 7 days, whichever start you pick
Tint Sunday and Saturday cells¶
Tick this and calendar cells are tinted: Sunday in pale pink, Saturday in pale blue (off by default).
- The colours are chosen to keep text readable in both the light and dark themes
- Hover and the keyboard focus outline still take precedence over the tint
- The weekday headings (Sun / Sat) keep their coloured text regardless of this setting
Fonts¶
You can pick the font for the interface and for the note editor separately.
| Field | Where it applies | Default |
|---|---|---|
| Interface | The whole app — sidebar, grid, inspector, dialogs | The OS system font |
| Note editor | The body text of the note editor | A monospace font |
- The list holds the fonts installed on this device — the app asks the OS for them, so there is no font name to type
- Your choice applies right away — check the sample just below
- Pick "Default (…)" at the top to go back
Text never breaks
The default font always stays behind the one you choose, so characters your font lacks — Japanese in a Latin-only font, for instance — still render with the default.
Font settings are stored per device
Fonts are not written into the library; they are saved on that device only. Windows and macOS ship different fonts, so sharing a library never carries a font choice from one machine to the other — pick whatever you like on each device.
If a font later disappears from the device, the setting shows as "(not found on this device)" and text falls back to the default until you pick another.
Preview text size¶
Choose the body text size used when you open a note — or a text file (.txt and the
like) — in the preview (Space, or Cmd/Ctrl+E while editing).
| Step | Notes | Text files |
|---|---|---|
| Small | 13px | 12px |
| Medium (default) | 14px | 13px |
| Large | 16px | 15px |
| Extra large | 18px | 17px |
- Headings, code, tables, and list spacing scale with it, keeping the same proportions
- Your choice applies right away — check the sample just below
- Text files are shown in a monospace font, which looks larger at the same size, so they sit 1px below notes
- Only the preview changes. The note editor keeps its own text size (its font is the "Fonts" setting above)
This setting is stored per device too
Like the theme and the fonts, it is never written into the library, so you can keep a different size on a large screen and on a small one.
Import¶
When importing a folder¶
Dropping a folder imports the files inside it recursively. This setting decides whether the folder names along the way are applied as tags.
| Choice | Tags on Photos/2024/Okinawa/sea.jpg |
|---|---|
| Tag with every folder level (default) | Photos, 2024, Okinawa |
| Tag with the innermost folder only | Okinawa |
| Do not add tags | (none) |
The same setting applies to subfolders inside watched folders. See Importing Files for details.
Dates on import¶
When an image has an EXIF capture time, choose whether to overwrite the file's dates with it. When off, the original file's modified (mtime) / created (btime) times are used as-is.
| Setting | Default | Effect |
|---|---|---|
| Use the capture time as the modified date | Off | Modified-date ordering and the calendar (modified basis) follow shooting dates |
| Use the capture time as the created date | Off | The calendar on the created basis follows shooting dates |
Turn these on when importing batches of photos. The "Updates" chart in Statistics also becomes shooting-month based.
Note
EXIF rotation (Orientation) is always honored to keep thumbnails upright, regardless of this setting. The actual file is never modified.
This setting only applies at import time
For photos already in the library, select the images and right-click → "Set Created / Modified Date from EXIF" (Importing).
Watched folders¶
Files placed into the folders you register are imported automatically and then deleted from the folder — a watched folder is an inbox, not a mirror.
- Pick a folder with "Add Folder…"
- Optionally type tags to apply, comma separated, in that row's field
- The "×" on the right stops watching
Drop a file in and it is imported within a few seconds.
This setting is per computer
Watched folders are stored in that computer's app settings, not inside the library. Register them on each computer where you use the same library.
See Importing Files for details.
Notes¶
Templates¶
Sets the tag name that marks a note as a template (default template).
Notes with that tag are listed by Cmd+Shift+N / Ctrl+Shift+N.
Today's note¶
Sets the name format of the note opened by Cmd+Shift+D / Ctrl+Shift+D, and the template used when it has to be created.
| Format | Example |
|---|---|
YYYY-MM-DD |
2026-07-25 (default) |
YYYY/MM/DD (ddd) |
2026/07/25 (Sat) |
Available tokens: YYYY YY MMM MM DD ddd HH mm.
See Writing Notes for details.
Slides¶
How notes look when you show them as slides. The settings apply to every slide; they cannot differ per note.
| Setting | What it does |
|---|---|
| Header | Text shown at the top left of every slide. Nothing is shown when empty |
| Footer | Text shown at the bottom left of every slide. Nothing is shown when empty |
| Background color | The slide background (white by default) |
| Text color | Color of headings, body text, header and footer (near-black by default) |
| Show page numbers | Shows "3 / 10" at the bottom right (on by default) |
- The sample below the settings updates as you change the colors, header and footer
- When the two colors are too close to read comfortably, a red message tells you (contrast below 4.5:1 — you can still use them)
- Table borders and code backgrounds are derived from the two colors. With a dark background, code coloring and Mermaid diagrams switch to their dark palettes
- The header and footer are shown exactly as typed (Markdown is not applied)
- "Reset to defaults" restores all five settings
- These settings are saved per device and are not stored in the library
Shortcuts¶
Reassign the shortcuts that only work while a note is open. The defaults are below (on Windows read Ctrl for Cmd).
| Action | Default |
|---|---|
| Insert a template | Cmd+Alt+T |
| Toggle checklist | Cmd+Enter |
| Go to the previous day's note | Cmd+Alt+Left |
| Go to the next day's note | Cmd+Alt+Right |
| Bold the selection | Cmd+B |
| Italicize the selection | Cmd+I |
| Insert a link | Cmd+K |
| Open the full preview | Cmd+E |
| Show as slides | Cmd+Alt+P |
| Open the outline (heading list) | Cmd+Alt+O |
| Select the next occurrence (multiple cursors) | Cmd+D |
| Select every occurrence (multiple cursors) | Cmd+Shift+L |
| Add a cursor above | Cmd+Alt+Up |
| Add a cursor below | Cmd+Alt+Down |
To change one: click the field — it switches to "Press a key…" — then press the keys you want. Esc cancels, × clears the assignment, and "Restore defaults" resets all of them.
Which combinations are allowed
- Only combinations with a modifier (Cmd / Ctrl / Alt) can be assigned; unmodified keys are needed for typing
- A key already used by another action is refused (the conflicting action is named). Clear that one first
- On macOS, Alt + a letter (without Cmd) can't be assigned, because macOS turns
that into typed text (Alt+T →
†). Add Cmd, as in Cmd+Alt+T
What each action does: Writing Notes and Multiple cursors.
Moving lines and friends are not listed here
Moving lines (Alt+Up / Alt+Down), duplicating and deleting them come from CodeMirror's default keymap, which the editor is built on. They work out of the box but cannot be changed on this screen → CodeMirror's default keymap
Opening Files¶
Configure which app "Open" uses, per extension. Extensions without a rule open with the OS default.
Three choices per extension:
| Option | Description |
|---|---|
| Built-in editor | Edit inside Melanite. For text formats (.md, .txt, …) |
| OS default | Open with the OS default app |
| App: |
Open with the app you chose |
Only some extensions can use the built-in editor
Only extensions handled as text (.md, .txt, .csv, .json, .html, .rs, .py, …).
Press "Built-in editor" on any other extension and the reason appears right under that
row, leaving the rule unchanged — assigning it would only produce a rule that fails with
"cannot be opened as text" the moment you open the file.
Adding a rule¶
Type an extension (e.g. txt) into the field at the bottom, press "Add", and pick
the behavior. Remove a rule with the "×" on its row.
Examples
- Open
.psdin Photoshop - Open
.xlsxwith the OS default (Excel) - Peek into
.logfiles with the built-in editor
Privacy¶
What Melanite sends — and what it never sends — is collected on the Privacy page. This section covers the setting itself.
Remote images and styles in previews¶
When a Markdown note references an external image —  — opening
that note contacts the remote server every time. That server learns your IP address
and when you opened the note. Melanite is built around staying local, so these are
not loaded by default.
| Setting | Default | Effect |
|---|---|---|
| Load remote images and styles | Off | Turn on to load http(s) images and style sheets in the preview |
Blocked images are replaced by a "Remote image not loaded" placeholder. Turn this on if you only handle notes you wrote yourself and want to embed external images.
This covers more than Markdown's . If a note contains raw HTML, images, video,
audio, <iframe>, SVG image references, background attributes and
style="background-image:url(…)" are all blocked too — anything that reaches out to
a remote server just by being displayed.
The same setting applies to the HTML file preview. While it is off, the page's external images, style sheets and web fonts are not loaded (it renders with its own text and layout only). Turning it on loads them, so those hosts learn your IP address and when you opened the file. Either way the page's JavaScript never runs and its forms cannot be submitted — only what is needed to look at it gets through.
Note
Images you imported into the library — including pasted ones — are not "remote images" and always display, regardless of this setting. Only images referenced by URL from note text are affected.
Backup¶
Keeps snapshots of the database (melanite.db) — which holds your tags, links and
memos — in backups/ inside the library. Your files (files/) stay in their original
format and are not included.
| Setting | Default | Meaning |
|---|---|---|
| Generations to keep | 5 | Oldest generations are removed first. The one taken before an app update is kept regardless of this number |
| Automatic interval (days) | 1 | Taken when you open the library, if this many days have passed. Set to 0 to turn automatic backups off |
"Back up now" creates a generation immediately. The current generations are listed below.
→ See Library for details
Metadata export¶
Below the backup settings, "Export as JSON…" writes the library's metadata into a single JSON file. You choose where to save it in the dialog.
What it contains:
- Items (display name, file name, kind, size, memo, location, favorite, dates, the tags on them, and the path within the library)
- Tags and tag groups (including colors and sort order)
- Links
- Smart filters
What it does not contain:
- The contents of your files (including note bodies). They stay in
files/in their original format, so each item simply carries afiles/<ID>/<file name>path instead - Per-device settings (watched folders, UI language, view settings, …)
Items in the trash are included too (they carry trashedAt, and their path points into
trash/).
There is no way to read it back in
You cannot import the JSON to restore a library. Restoring is what backups are for. This export is for inspecting what a library holds from outside the app, or for handing the metadata to another tool.
Portable pack¶
Settings for reading this library on a phone with Melanite Viewer, the read-only companion app.
Exporting a pack¶
This tab builds a portable pack — a folder named .melanitepack — for reading this
library on a phone.
You pick where to keep it once. "Choose destination…" lets you pick a folder, and
<library name>.melanitepack is created inside it. From then on, "Update" is all you
press — the same place is rewritten.
Keeping it in iCloud Drive works well
Each update then syncs only what changed to your device.
A pack has two parts. The database and your note text are bundled into one file
(content.zip); thumbnails sit loose beside it. Sync delivers files in no particular
order, so without that bundle you could end up with notes listed but unopenable —
whereas a thumbnail that hasn't arrived just shows as an icon, which is why those are
left loose.
What goes in:
- Tags, tag groups, links, memos, locations, favorites, dates, and smart filters
- The text of your notes and of plain text files
- Thumbnails, when "Include thumbnails" is on
What stays out:
- The files themselves — images, video, PDFs, Office documents. Including them would make the pack as large as the library and no longer portable
- Items in the trash
After the first time, only what changed is rewritten
Unchanged thumbnails and notes are left alone. Anything you deleted in Melanite is removed from the pack on the next update — whether you moved it to the trash or deleted it for good. The "N files written" in the result is that count.
Because the pack is a folder rather than one archive, changing a single tag doesn't mean sending everything again. Only the first update writes the whole thing.
Where to keep the pack for Android¶
With the Android version of Viewer, put the pack in a folder on the device itself before importing it.
You can import straight from a cloud folder such as Google Drive, but then every thumbnail is fetched from the cloud as it is shown: lists fill in slowly, and thumbnails don't appear without a connection. The Android Google Drive app can't make a whole folder available offline, so marking files offline doesn't get around this.
If copying over a cable every time is a chore, use a sync app to mirror the cloud folder onto the device:
- On your computer, export the pack into Google Drive (the desktop app) or a similar folder
- On Android, install a sync app and set it to sync the
<library name>.melanitepackfolder in Drive one way into a folder on the device (for exampleDocuments/Melanite/). Have it sync deletions too, so thumbnails of items you deleted on your computer don't linger - In Viewer, choose "Import a pack…" and pick the folder on the device
Sync apps include FolderSync, which works with Drive, Dropbox, OneDrive and more, and
Autosync for Google Drive. Free versions may cap the size of files they sync; the file
that bundles the database and notes (content.zip) can reach tens of MB, so check that limit.
Once this is set up, Viewer tells you "A newer version is available" when sync brings in an updated pack, and one tap re-imports it. If you import while a sync is still running, a pack that hasn't fully arrived simply fails to import — you never see half of it. Try again a little later.
The sync app is your choice
A sync app can read your cloud folder. Viewer and Melanite make no additional connections, but how the sync app treats your data is up to that app.
Automatic updates¶
Set "Update automatically every (days)" to 1 or more and opening the library updates the pack in the background, if that many days have passed. The default is 0 — never.
Don't set a short interval
Each update rewrites the bundle of database and notes in full (around 27 MB for a library of 100,000 items). It cannot be made incremental — changing a single tag changes the database. That is why there is no "update on every change".
Why it is off by default
The pack lives outside your library, usually in a cloud-synced folder. Writing tens of megabytes there without you asking would be a surprise, so you opt in.
The first export can take a while
How long it takes depends on the number of thumbnails and how fast the destination is. The progress is shown while it runs, so if it looks stuck, check whether the count is still climbing. You can "Stop" at any point — the pack you exported before is left untouched. Turning "Include thumbnails" off makes it much smaller and faster.
The export keeps running if you close the Settings window; reopen it to see where it got to.
The app never sends it anywhere
Hand the pack to your own device however you like — AirDrop, iCloud Drive, a cable. Melanite does not send it anywhere, and this feature adds no new network access (see Privacy).
A pack is not a library
Melanite cannot open a pack folder: without the files themselves it is an incomplete library. For backups and moving house, use backups and a copy of the library folder.
A folder that already has something in it cannot be used as a destination (so that nothing of yours gets cleaned up). Pick an empty folder, or a pack you exported before.
Maintenance¶
Integrity check¶
Detects mismatches between the database and the actual files, generates missing thumbnails, and rebuilds the search index. (To rebuild thumbnails that already exist or failed before, see Regenerating thumbnails.)
Press "Run Integrity Check…" to see the report.
→ Details: Libraries
Library info¶
Shows the currently open library's name and location (full path). Check here to see which folder to copy when making a backup.
Licenses¶
Shows the Melanite version and every piece of open source software it is built with.
Select a package name to read its full license text in place. The filter box matches
license names (MIT, MPL-2.0, …) as well as package names.
→ Details: Licenses