Skip to main content

Settings

Open it with the Settings button in the toolbar, or from quick search under Tab. The Settings screen has two tabs: Preferences and Shortcuts. Preferences opens first, except from the welcome screen's Shortcuts row, which opens Shortcuts.

The theme and the display language are not on this screen. The toolbar's Theme and Display Language buttons open them — see Language and Theme.

Relationship DataType Sync​

Determines whether to synchronize data types. It is on by default. Changing a column's data type then applies it to every column joined to it by a relationship, following the chain from both ends, so a foreign key never drifts from the key it references. From a key to its foreign keys, a serial type goes as the integer type it stores, as it does when a relationship is drawn — see Identifying Relationships. So changing a key to serial gives its foreign keys integer under PostgreSQL, and the change goes on down the chain from there. From a foreign key back to its key, the type goes as written, except that a serial key keeps its type and the change stops there. Map Columns follows this setting too: while it is on, each existing column it maps takes the type its parent key gives a foreign key, and the change goes on along the relationships as above. While it is off, or when the key has no data type, the column keeps its own.

Relationship data type sync setting

Changing members.id to BIGINT UNSIGNED, which updates every member_id joined to it

Maximum Comment Width​

Specifies the maximum width of the comment column in pixels (60 ~ 200). Turning the switch off removes the limit, and the input is disabled while it is off. Turning it on starts at 60px. A value typed outside the range is clamped to the nearest end.

Turning on Maximum comment width, entering 120, and the ERD tab showing comments cut to it

Recalculation Table Width​

Press Sync to recalculate the width of every table and column cell to fit its current text, and to redraw the relationship connectors around the new sizes. A Recalculated table width toast confirms it. Widths are recalculated on their own whenever a document is loaded, so this is only needed when a font or rendering change has left them stale. Widths are not saved in the file, so Sync never changes it.

Lock​

The Lock list holds six settings. While a setting's lock is on, the file keeps the value it had when locked, so changing it on screen leaves the file as it was.

RowWhat the file keepsIn a new diagram
ViewportThe ERD canvas's zoom level and view position, as one lock100% · 0, 0
Canvas TypeThe tab the diagram opens on: ERD, Visualization, Schema SQL, or Code GeneratorERD
LanguageThe Code Generator languageGraphQL
Table Name CaseThe Code Generator's table name casePascal
Column Name CaseThe Code Generator's column name caseCamel
Bracket TypeThe Bracket of the Schema SQL tab and of the Code Generator targets that offer itNone

Each row shows a value and a lock button, and a click on the button turns that one lock on or off. While a lock is on, the button shows a closed lock with the tooltip Unlock Viewport (and so on for each row), and the value, with the tooltip Locked value, is the one the file keeps. While it is off, the button shows an open lock with the tooltip Lock Viewport, and the value, dimmed, with the tooltip Current value, is the setting as it stands now. Viewport reads as the zoom and then the view position, such as 75% · -40, 91. The view position is the point on screen, in pixels, where the diagram's 0, 0 lies, and a coordinate of a thousand or more is shortened, as in 1.2k or -24k.

Locking takes the setting as it stands at that moment. While a lock is on, the setting still works on screen: you can scroll and zoom, switch tabs, and pick another language, name case, or bracket from the menus, the options panels, or quick search. The file keeps the locked value, though, and the row keeps showing it, so the diagram reopens at the locked view, on the locked tab, with the locked language, name cases, and bracket. A JSON export writes the locked values too. To save what the screen shows, turn the lock off, and the file follows the setting from then on: with Viewport off, the diagram opens where you left it. To lock a new value instead, such as a new starting view, turn the lock off and on again. If the locked view shows none of the diagram when the file opens, the screen still moves onto the diagram, and the locked value stays as it is. Canvas Type never keeps the Settings tab. Turning it on locks the last other tab you were on, and while it is off, its row names that tab.

Unlocking Viewport, scrolling and zooming the diagram, and locking it again at the new view its row shows

Turning a lock on or off changes the file, since the file stores which locks are on, but like the rest of the Settings tab it is not recorded in the undo history. In a read-only editor the lock buttons do nothing. Every other setting is saved as it stands: the database, the View Option toggles, and the rest of the Preferences tab.

Every lock is on in a new diagram, one started from nothing: an empty file opened in VS Code, Obsidian, or a JetBrains IDE (Obsidian's ERD Editor: Create new diagram and New ERD make one), a new schema in the web app, a file made from Google Drive's New menu, or an <erd-editor> given no value. A schema or Google Drive file that the web app makes by importing a SQL, DBML, AML, or GraphQL file starts with every lock on as well. One made from a JSON file keeps the locks that file records. A file you open keeps the locks it was saved with, each at its locked value. A file that records no locks, such as one saved by an earlier release or written by hand, opens with every lock on: the view at 100% · 0, 0 and the tab at ERD, whatever view and tab it saved, and its language, name cases, and bracket type locked as it saved them. An Import that replaces the diagram sets the locks too: a JSON file brings the locks it records and the values they hold, and a SQL, DBML, AML, or GraphQL file keeps your locks but puts the view back at 100% · 0, 0, locked or not — see Importing External Files. Undoing the import brings back the locks and locked values it replaced.

A change a lock keeps out of the file is not counted as a change. VS Code does not mark the tab modified, and Obsidian and a JetBrains IDE leave the file as it was, both when they save on their own and when the tab closes. So with every lock on, looking around a diagram, switching tabs, and trying another language, name case, or bracket never show up in git diff. With Viewport off, scrolling and zooming change the file, and with Canvas Type off, so does switching tabs, including to the Settings tab. A new diagram's empty file stays empty until the first change the file keeps: an edit, a change to a setting no lock holds, or a lock turned on or off. Opening a diagram and closing it with no such change leaves the file as it was, whichever release or machine wrote it. The file holds only what the diagram is, in a fixed order, and a file an earlier release saved is rewritten in this form once, on its first such change — see Storage Form and Runtime Value. In VS Code, a revision reopened as a diagram with Reopen Editor With..., such as a Git revision or a Local History entry, is read-only and never marked modified. In Google Drive, a scroll, a zoom, or a switch to another tab is never saved on its own, locked or not. With Viewport off, the view is written only along with another change, so a Drive file opens where the view was at its last save, and the same goes for the tab with Canvas Type off.

In a collaborative session, turning a lock on or off reaches every editor, and a lock keeps the value of the editor that turned it on. Turning off Language, a name case, or Bracket Type gives every editor the value shown in the editor that turned it off, so all of them save one value. Turning off Viewport or Canvas Type moves no one's view or tab. A coding agent working through the MCP server has no tool for the locks or for the settings they hold, and it reads a locked language, name case, or bracket type at the value the file keeps. Only its imports in replace mode reach them, as an Import does — see Settings and Import.

Adjusting Column Order​

Sets the display order of columns in tables. Drag a row to move it — the whole row is draggable, and the grip icon marks it. The seven rows, in their default order, are Name, DataType, Not Null, Unique, Auto Increment, Default, and Comment. A cell hidden by a table view option keeps its place in the list, so the order applies to whichever cells are shown. The alternate key mark (AK1.1 and so on) is not one of these rows. It always stands last in a row, after whichever cell this order puts last.

Scrolling down to Column Order and dragging the Comment row up under Name, which puts each comment right after its column name

Shortcuts​

The Shortcuts tab is a read-only table of Command and Keybinding, listing the bindings for the platform you are on.

CommandWindows/LinuxMac
EditingEnterEnter
StopESCESC
SearchCtrl + K⌘ + K
Find and ReplaceCtrl + F⌘ + F
UndoCtrl + Z⌘ + Z
RedoCtrl + Shift + Z⌘ + Shift + Z
Add TableAlt + N⌥ + N
Add ColumnAlt + Enter⌥ + Enter
Add MemoAlt + M⌥ + M
Remove Table, MemoCtrl + Backspace, Ctrl + Delete⌘ + Backspace, ⌘ + Delete
Remove ColumnAlt + Backspace, Alt + Delete⌥ + Backspace, ⌥ + Delete
Delete SelectionDelete, BackspaceDelete, Backspace
Primary KeyAlt + K⌥ + K
Select All Table, MemoCtrl + A, Ctrl + Alt + A⌘ + A, ⌘ + ⌥ + A
Select All ColumnAlt + A⌥ + A
Relationship Zero OneCtrl + Alt + 1⌘ + ⌥ + 1
Relationship Zero NCtrl + Alt + 2⌘ + ⌥ + 2
Relationship One OnlyCtrl + Alt + 3⌘ + ⌥ + 3
Relationship One NCtrl + Alt + 4⌘ + ⌥ + 4
Table PropertiesAlt + Space⌥ + Space
Focus on this tableAlt + F⌥ + F
Zoom InCtrl + Plus⌘ + Plus
Zoom OutCtrl + Minus⌘ + Minus
Zoom ResetCtrl + 0⌘ + 0
Hand ToolSpaceSpace
Zen ModeAlt + Z⌥ + Z

Most of these fire on the ERD tab only, and they are held back while quick search, table properties, the diff viewer, the Auto Layout preview, time travel, the Export image dialog, or Map Columns is open. Search, Find and Replace, and Stop are the exceptions: Search toggles quick search from any tab, Find and Replace opens the Find and Replace panel from any tab and brings up the ERD tab, and Stop is what closes quick search, table properties, the diff viewer, the Auto Layout preview, time travel, the Export image dialog, Map Columns, the theme builder, the Display Language picker, the Find and Replace panel, the color picker, and an open context menu. While the diff viewer, the Auto Layout preview, or time travel is open, Find and Replace leaves its key to the browser or host — see The Browser's Find Bar. On the ERD tab, Stop ends an open cell or memo editor, closes a table group's name editor without renaming the group, or cancels a relationship or a New Table Group being drawn, and leaves the selection as it is. With none of those open, it clears the selection and the focused cell and, in the same press, closes an open Find and Replace panel or color picker. An open Find and Replace panel, theme builder, or Display Language picker holds none of the shortcuts back on the canvas. For keys pressed inside the panel, see Keys in the Panel, and inside the picker, see Picking a Language. Delete Selection removes every selected table, memo, and table group, or, when a single table is selected with some of its columns and the zoom is above 70%, those columns — see Table and Memo Deletion. Remove Table, Memo removes selected table groups too. Zoom In, Zoom Out, and Zoom Reset also zoom the Visualization tab, in Graph and Flow alike, unless quick search is open. On the Visualization tab, Stop also closes the row display menu and cancels a Flow layout that is still running; it does not widen a view narrowed with Focus on this table. Focus on this table opens the Visualization tab in Flow, narrowed to the selected tables and every table one relationship away, and does nothing when no table is selected — see Focusing on Tables. Select All Table, Memo, Hand Tool, and Delete Selection give way to a caret: while you are editing a cell or a memo or typing in a text field such as the Find and Replace panel's, Ctrl + A (Windows/Linux) or ⌘ + A (Mac) selects the text, Space types a space, and Delete and Backspace erase text. Copy and paste are the browser's own Ctrl + C and Ctrl + V (Windows/Linux) or ⌘ + C and ⌘ + V (Mac), so they are not in this list — see Table Editing.

Bindings cannot be changed from this tab. A host embedding the editor remaps them with setKeyBindingMap, except Editing, Stop, Undo, Redo, Zoom In, Zoom Out, and Zoom Reset, which are fixed. The Shortcuts tab then lists the host's bindings: a command the host does not remap keeps its default, and one the host binds to no key shows none.

In Obsidian these keys reach the editor whenever the diagram's Obsidian tab is active, even where an Obsidian hotkey uses the same key, such as Alt + Enter, Ctrl + K, and Ctrl + F (Windows/Linux) or ⌥ + Enter, ⌘ + K, and ⌘ + F (Mac). Every other Obsidian hotkey still works there. For Ctrl + F or ⌘ + F, see The Browser's Find Bar.