Articles

Importing Licenses from CSV and JSON

If you already keep software licenses in a spreadsheet, database export, or another tool, you can import that structured data into License Store.

License Store supports CSV and JSON files and lets you decide how fields from the file should map to License Store fields before anything is imported.

CSV and JSON import window

When to Use CSV or JSON Import

Use this import when your license data already exists in a structured file.

For example:

  • a spreadsheet exported as CSV
  • a custom database export
  • a JSON file created by another app
  • a file generated by your own script

This is usually much faster than typing every license by hand.

Start the Import

Open Add App and choose Import JSON or CSV.

Import JSON or CSV menu

After you select the file, License Store reads the available fields and shows an import window.

Map Fields Before Importing

License Store tries to match common field names automatically. For example, fields named app, applicationName, serial, licenseKey, downloadURL, or validUntil can often be matched without extra work.

You can still review and change every mapping before importing.

Field mapping for CSV and JSON import

Supported License Store fields include:

  • name
  • bundle ID
  • version
  • license holder name
  • e-mail
  • license key
  • activation link
  • license type
  • website
  • download URL
  • expiration date
  • expiration scope
  • number of activations
  • notes

Choose Not Imported for any source field you do not want to bring into License Store.

CSV Files

For CSV files, the first row should contain column names. License Store uses those names as source fields in the mapping window.

This format is best when your data is already in a table or spreadsheet.

JSON Files

For JSON files, License Store can import records from a list of objects. It can also work with a single object, or with a dictionary that contains a list of record objects inside it.

This format is best when your source data comes from another app, a script, or a more structured export.

Dates and Expiration

If you import expiration dates, License Store can understand common date formats such as 2026-12-31, 2026/12/31, 31-12-2026, and ISO-style date strings.

When an expiration date is imported and the file does not include a separate "can expire" field, License Store treats the entry as expiring.

Expiration scope can be imported too. Use it when you want to say whether the date applies to the entire license or only to updates.

CSV and JSON Are for Structured Text Data

CSV and JSON import is best for text-based license records.

If you need to move complete License Store entries, including file-based licenses and attachments, use a License Store file (.ls) instead. That format is designed for full-fidelity transfer between License Store libraries.

After Importing

After the import finishes, review a few entries in Edit mode.

You may want to add attachments, clean up notes, choose icons, or fill in details that were not present in the original file.

If an imported app name exactly matches an installed app on your Mac, License Store can also try to use that app's icon, which makes a migrated library feel more complete right away.

Marcin
Written by
Marcin
CEO at Apptorium. macOS App Developer
Written on 2026-09-16