Configuration
Kahuna's configuration is hierarchical; it can be configured globally for all origins, for individual databases within an origin, or for individual tables within a database. More general configuration settings serve as default values for subordinate configurations.
In each view the configuration is invoked with the icon in the title bar. The tabs behavior, columns, filters, import, export and in the global view application must be clicked to switch to the respective configuration domain.
When invoked from the database view or the table view, the icon at the right of the headline can be used to switch to the parent configurations and back.
next to a setting indicates that the setting has its default value, as set by the parent configuration or by the application.
The icon indicates that the setting has been changed and saved since the configuration was invoked and that the change will be undone if the undo changes button is pressed.
Application
The application tab is used for settings that control the properties of the application itself and not how databases, tables or data are handled. If this tab is not displayed, use the icon and switch to the settings for global application and defaults.

-
Sets the color scheme Kahuna is displayed in. You can choose between the preferred color scheme according to your browser settings, a dark color scheme, and a light color scheme.
-
Specifies whether should be applied for the origin of the currently displayed website or whether a dark or light color scheme should be used instead.
-
If set, empty databases (databases that do not contain any tables) are not counted for the notification in the browser action tooltip. Databases that contain only empty tables without records are not considered empty. Empty databases are always included in the database list unless they are excluded in .
-
A list of database names that should neither be counted for the notification tooltip nor appear in the database list. Use the icon to add names and the icon behind a name to remove it from the list. The default entry __dbnames is used by the dexie library for older browsers that do not support listing all existing databases.
-
After activation and subsequent confirmation, all saved settings will be reset to their default values. The deleted data also includes the defined filters and columns, saved JavaScript code, the window position and size and which notification messages should no longer be displayed.
Behavior
The image shows how to configure Kahuna's behavior for the selected table meteroites, while displaying this table in the datatable view. To configure settings for all tables in a database or globally, first switch to the database settings or the global settings via the icon.

-
By default, a confirmation is requested when delete row is clicked for a record in the datatable. Uncheck this option to disable the confirmation request before deletion.
-
Specifies whether a JavaScript textarea is displayed beneath the datatable.
-
If checked, a text with the available global variables is displayed in the JavaScript textarea.
-
The number of rows the datatable displays on a page.
-
Errors, warnings, and information messages displayed at the bottom of the window disappear after the number of seconds specified here. If a zero is entered, the messages will remain displayed until clicked.
-
Sets the currently displayed table as the initial view when Kahuna starts. If the table does not exist, the database list is displayed instead. If this is checked in the database-wide settings, the table list is displayed at startup.
Columns
In the columns configuration the columns for data fields section only exists when the settings are made for an individual table. While database-wide or global settings are chosen, only can be set as the default for all tables.

-
When invoked, the datatable analyses the data of the first page to identify the existing columns. If the data objects on subsequent pages have additional properties, this setting determines how they are handled. If checked, they are immediately added to the table as columns. If not checked, an indicator with the number of the found properties is displayed. Hovering the indicator allows you to add them all as columns or to switch to the columns configuration.
-
Grab a position number with the mouse to change the column order by drag & drop.
-
date and url are the selectable format options that are applied when the column contains suitable data for formatting. For date this are integer values which when interpreted as timestamps(either by themselves or multiplied by 1000), are within the period from 10 years in the past to 20 years in the future. For url it must be a string that begins with
https:
,http:
orfile:
, or the string must look like a web address in order to be displayed as an outgoing link. -
Unckeck to hide a column from the datatable view. The column in which the primary key is displayed cannot be hidden.
Filters
The filters tab is primarily used to define the filters that are displayed above a datatable. While the global or database-wide settings are being configured, this view is mostly empty, except .

-
The numbering corresponds to the order of the filters in the datatable view. To change the order, grab a number with the mouse and drag & drop it to its new position.
-
A selection list of the data field for which the filter should be applied.
-
Selection of the filter type. In detail, these are = (equal), < (below), > (above), ≠ (unequal), ..% (starts with), %.. (ends with), %..% (contains), (empty) (captures empty values) and /regexp/ (matches a regular expression). When using a regexp filter, only the pattern must be entered, not the slashes.
-
The options in this column are varying depending on the filter type selected in . The option case sensitive can be set for the filter types =, ≠, ..%, %.., %..%, and /regexp/. Option include bounds is possible with < and >. For the empty filter type you can set which values should be considered empty (undefined, null, empty strings , empty arrays or empty objects).
-
Click any of the icons to remove a filter.
-
Click the icon to add a filter.
-
When checked, filter settings and filters are highlighted when no index is used to apply them. This is not a problem for small tables (say a few thousand records) or if the number of records to which they are applied is reduced by additional, indexed filters. However, for large tables and without additional index-based result restrictions, the search will be significantly slower.
Import
The screenshot shows the default settings for importing data from files in Dexie, JSON or CSV format. Some options are only relevant for certain import formats or for certain import scenarios. Details can be found in the explanations for the individual items.

-
Select which of the supported data formats — Dexie, CSV or JSON — is preset for data import. This setting is only relevant for importing data into tables. When using the Import Database option in the Origin Tools or the Import Data option in the Database Tools, the Dexie format is always fixed.
-
This setting determines how empty values in CSV import files are handled. You can choose to import them as empty string, null, or undefined values. The fourth option, exclude, specifies that imported datasets will not have a property for empty values.
-
If an import file in CSV format or JSON format contains values for the unnamed primary key of a table, the field name from the import file must be entered here so that the values from that field are adopted. If no entry is made in this field, for unnamed autoincrement primary keys values will be generated. If the unnamed primary key is not defined as autoincrement and no existing field name is entered, no data will be imported. If the target table has a named primary key, this setting is not used. The setting is relevant for JSON and CSV import.
-
Turn on if all records should be deleted from the tables before importing.
-
Controls what happens if a table already has a record with a value for a primary key that is also present in the import file. An existing record is replaced if checked, it remains if unchecked.
-
Controls what happens if an error occurs during import. If checked, no data is imported at all. If unchecked, all data up to the point of the error is imported into the target database.
-
On Dexie import into an existing database, this controls whether the name of the source database from which the export file was created may differ from the name of the target database.
-
On Dexie import into an existing database: Is it allowed for the versions of the source and target databases to differ?
-
On Dexie import into an existing database: Is it an error or not if the primary key definition of tables in the source and target database differ.
-
On Dexie import into an existing database: Is it allowed that the import file contains empty tables that do not exist in the target database.
-
If checked, the data of a field from the import file whose name is entered in will be imported as a single value. Otherwise, the entire data of all fields will be imported as an object. In other words, this enables import when a table is used as a key-value store rather than an object store. If the specified field is empty for a record in CSV import or not present in JSON import, the complete record is imported as an object. This setting is supported for JSON and CSV imports and when the table has an unnamed primary key. If the primary key is not an autoincrement primary key, the name of a designated field must be entered in .
-
The name of a field from the import file whose values should be imported as direct values in a key-value store. For this setting to be applied, must be checked. Supported for JSON and CSV imports.
Export
The screenshot shows the default settings that are applied when exporting data in Dexie, JSON and CSV format.

-
Select which of the supported data formats — Dexie, CSV or JSON — is preset for data export. This setting is only relevant for exporting data from tables. When Export Database from the Database Tools is used, Dexie format is fixed and cannot be changed.
-
A template can be entered to be used as the file name for exported databases. The available variables that can be used in the template are listed below under Filename Templates. The template can be modified during the export process.
-
The file name template for exporting table data when using the Table Tools. For the available variables see Filename Templates.
-
The file name template for exporting table data when using the Selection Tools. For the available variables see Filename Templates.
-
For tables with unnamed primary keys, this setting is used as the name for the primary key when exporting to JSON and CSV formats. If no name is entered here, unnamed primary keys will be excluded from the export.
-
If a table is exported that is used as a key-value store, this setting specifies the name for the contained values in the export file. Relevant for JSON and CSV exports for tables with an unnamed primary key.
-
When exporting in Dexie format and this option is checked, the exported files will be formatted readably, with line breaks and indentation.
-
Check this option if you want the exported data to be formatted readable when exporting to JSON.
Filename Templates
The templates that can be used for file names for exported data are composed of strings and variables enclosed in curly braces. For example, the template {db}-{table}-{date}.{format}
will be replaced by the file name MyDB-MyTable-250427.csv
when exporting the table MyTable from the database MyDB in CSV format on April 25, 2025.
The available variables are
Variable | Replacement | Notes |
---|---|---|
format | either dexie , json or csv |
|
db | name of the database being exported | |
table | name of table the being exported | not available for database export |
date | current date in the format yymmdd |
2 digits year, 2 digits month, 2 digits day of month |
time | current time in the format hhmmss |
2 digits hour, 2 digits minute, 2 digits second |
h | hour | 2 digits |
m | minute | 2 digits |
s | second | 2 digits |