Ninox on the App Store: for Mac | for iPad | for iPhone

How can I…


… use the iCloud Sync Feature?

With the iCloud Sync feature the same databases can be accessed from multiple Apple devices. To use the iCloud Sync feature choose iCloud as store location when creating a database. A little cloud will appear on the database. If you already created a local database you can duplicate and choose iCloud as store location.
To use the iCloud Sync feature on iPad, please upgrade to Premium.

… modify iCloud databases on another device?

Ninox databases can only be mnodified on the device they have been created on. Ninox has this setting to avoid conflicts. With “reorganise” you can re-allocate the admin rights to another device. You find this function by clicking the menu button of a database. On iPhone swipe the database to the right.

… backup and share Ninox databases?

Ninox databases can be saved and exported as archives. The resulting .ninox files can be imported with every Ninox version. Use “Save Archive as…” from the main menu in the top left corner to export archives. Use “Import archive” from the start screen to import.

… export and import data?

Ninox allows you to import structured data via csv-import. Ninox will try to match columns in your csv file to data fields in the database. Start the assistent be clicking in the wrench an seleting “Import data…”
Date fields are the hardest to get right. The Ninox date format depends on the system settings. Ninox will use the”medium” system settings. If in doubt try “yyyy-mm-dd” – this will always work fine.
The wrench menu will give you “Export data…” to. An assistent will guide you.
Mac app: To export all tables select “Export data…” from the title page of the database (the one with the fancy bachground image). Here you can export all tables to excel or export the Ninox database without data as an .ninox archive.

… import my contacts?

With Ninox you can import all contacts from the Mac contact app.

  • Click on the database homescreen on –> import data.
  • In the following dialog choose “Contacts”.
  • Install table template
  • Import Contacts
… search?

Ninox provides two search functions – global and local search.

The global search can be accesses via the magnifing glass in the left side bar. Here you’ll search the whole datadase.
To search a table only press “cmd + f” or use right click to select “find”.

… create an auto-incrementing number for invoices or clients?

Option 1: Create a trigger (“on create”) on table level like this:

'Invoice Number' := max((select Invoice).'Invoice Number') + 1

This will check all existing invoice numbers and will fill the field “Invoice Number” with the next number.

Option 2: A little bit more fancy – Create a trigger (“on update”) on table level like this:

if not 'Invoice Number' then
let y := year(Date);
let m := month(Date);
let d := day(Date);
let c := cnt(select Invoice where year(Date) = y and month(Date) = m);
'Invoice Number' := y + format(m, "00") + format(d, "00") + format(c, "00")

If will give you an invoice number like this:
yyyymmddxx – where xx is a counter of invoices per month.

… create and read barcodes?

Click in any field and scan barcodes or QR-codes. The scanner (or camera) will work as an input device.
Output fields as barcode: You’ll need a barcode font installed on your system. In “Print” you can set the font for every field seperatly.
Note that barcodes have the value stored like this:
*123456* (Note the asterisks)

… use the location Field?

To set a location:

  • Click into the location field.
  • Maps will open.
  • Find the location and double-click.
  • Give a name.
… restore local database with “time machine”?

Use “time machine” on your Mac to create regular backups of all your files.

  • Open finder
  • Open menu “go”
  • Press “alt”(+”Shift”): “library” appears
  • Select library
  • go to “Containers”
  • go to “de.ninoxdb.ninox-mac”
  • go to data
  • go to “Documents”
  • go to “data”
  • open time machine
  • go back in time
  • pick the database to recover
  • restore





  • Learn what Ninox can do for you in the Basics chapter.
  • The tutorial will help you understand the main concepts of Ninox.

User interface


Tables are the fundamental concept of Ninox. Learn:

Formulas and Calculations

With formulas and calculations you can add new data-fields or columns and calculate values or implement triggers.


142 Gedanken zu „FAQ

  1. Hi,
    In the new version of ninox, the 2.2.0 you can create function.
    I have tested this feature and i think is very nice.
    I don’t have problem with function without parameter, but i don’t find or know how can put parameter to my function. When a put a parameter, the code editor tell me the : is required.
    Any help for my first function with parameter in ninox?

      1. Thats true. Here is another example:
        function myAddition(n1 : number, n2 : number, n3 : number) do
        n1 + n2 + n3
        myAddition('Number 1', 'Number 2', 'Number 3')

        Birger – Ninox Support

  2. Hi,
    I have created a database that tracks work time shift details etc. I have entries for ‘Start Time’ and ‘Finish Time’ ( Data Type of Time) and calculated ‘Shift Length’ := ‘Finish Time’ – ‘Start Time’.

    My problem is I work a night shift so I get odd results e.g. start 18:00 and finish 02:30 so the calculation would be 02:30 – 18:00 and expect the answer to be 08:30. Can you give me any solutions to this.

    Many thanks

    1. Hello,
      Tray with datetime field. I have same problem, and i use datetime and now is ok.


      let myDuration := format( dateTimeEnd-dateTimeSart , “HH:mm:ss” )

      with dateTimeEnd and dateTimeSart field type DateTime.


    2. Try this formula:
      'Shift Length' := if 'Start Time' < = 'Finish Time' then
      'Finish Time' - 'Start Time'
      time(24, 0) - 'Start Time' + 'Finish Time'

      Birger - Ninox Support

  3. Can I duplicate an existing field? I have a multiple choice field, which has about 10 different choice values. And I wish to create some duplicates and change some of the field names. How can I duplicate a field?

      1. That does not sound like what I am looking for. I just want to create a duplicate of a (field) within the same table. If Ninox can do that, please let me know, as it will help reduce a lot of redundancy in field creation. I would think this is a very basic function?

  4. There have been a number of improvements to the scripting language, but the user manual does not document them. Will there be a downloadable manual? At the very least, I’d like to see the online manual updated with the new commands and functions.

    Also, is it possible to add a “do Case” function? I have several databases where I currently use a series of nested if…then…else statements that could be more efficient with do Case. Thank you.


      1. Alex:

        Thank you. Certainly helpful, but this seems to be a PDF version of what is currently available online. There is no documentation of the v2.2.0 enhancements to the scripting language.

        Also, having recently updated to iOS 11, Apple has turned on “Smart Punctuation” by default. (Settings->General->Keyboard). This interferes with scripting, as the “smart quotes” are not recognized. Users will need to turn this feature off to properly enter programming code. I see that Apple’s Numbers has this automatically turned off, so that text can be entered with the standard ASCII quotes. Is it possible to have NINOX turn this feature off as well?


        1. Ninox will use the global settings as give by the Apple preferences. You’d have to turn of “Smart Punctuation” to have the annoyance go away.

          Birger – Ninox Support

  5. Just starting with Ninox on Mac and iOS. Neither app displays the Start Page or the Database home page.
    Mac OS 10.12.6
    iOS 10.3.3

    Also wondering if there is a way to format the tables so that cells are wrap to fill so that when I print I can see the full contents of all cells.


  6. Hi,

    I would like to clarify the situation with iCloud and syncing between devices.

    1) Can you only sync between devices if you pay the 100€ per annum iCloud fee? Is there a way of syncing between devices manually?

    2) If I have a database that has been created in the cloud, is there any way to make it “device based” without having to completely re-write it?

    This is a wonderful program, with top class support. Many thanks

    1. I have worked out how to move the database from the cloud – duplicate the database and select “local”.

      But I would still like to know the answer to the question about syncing without using the cloud.


    2. 1 / No. These are two seperate sync mechanisms. iCloud is an Apple service used for devices running on the same AppleID. There is no monthly fee charged by us to use iCloud sync.

      2 / Yes. You’d do is like this:
      - Select “Save Archive as…” from the main menu.
      - Next select “Import achive” import the file just saved into a new (local) database.

      Birger – Ninox Cloud

  7. Hi,

    I am wanting to get the database to display a field (called “indication”) only if a certain choice is chosen in another field in the same table (field called “operation”, choice “caesarean section”). For some reason I can’e work out what to write in the “display field only, if” box.

    Many thanks for your help

    1. Hi,
      The selection entries in the selection field have their own IDs (right in the field).
      If your entry “caesarean section” has the ID 1, then the formula is:

      number (operation) = 1


  8. Auto Number Field with Input Mask

    Below is formula code that can be used to create an Auto Number Field with an Input Mask (e.g., AG00001, AG00002, … , AG00015). The number generation is built using the respective table’s standard ‘Id’ field so there isn’t any coding required to check for unique values.

    Note, each Input Mask formula code will have limitations based on the number of records or ‘Id’ values within the respective table so this should be accounted for. If a limit is hit and causes issues, updates to the formula code can be made retroactively and will update all records.

    Input Mask Requirements:

    Prefix = “AG”
    Number = “#####”

    Formula Code:

    if number(Id) < 10 then
    "AG0000" + Id
    if number(Id) < 100 then
    "AG000" + Id
    if number(Id) < 1000 then
    "AG00" + Id
    if number(Id) < 10000 then
    "AG0" + Id
    "AG" + Id

Leave a Reply