Skip to main content

Migrating from nYNAB

In order to export your budget from YNAB, you will need to use one of two methods.

3rd Party nYnab Exporter

This is the easiest method available. While we don't maintain this tool, will handle authorizing with your account to export your nYNAB budget into JSON.

Export Using API Key

If you don't want to use a third party tool, you will need an API key.

If you haven't already got an API key, you'll need to:

Sign in to the YNAB web app
Go to the "Account Settings" page, then to the "Developer Settings" page
Under the "Personal Access Tokens" section, click "New Token"
Enter your password and click "Generate" to get a new access token

The API key is only shown once, so make sure you copy it down somewhere! More information on how to access the YNAB API can be found at

Now open a terminal window / command prompt, and enter:


If you receive an error message like: Invoke-WebRequest : Cannot bind parameter 'Headers', this is because curl is probably aliased to the "Invoke-WebRequest" Powershell commandlet. Use curl.exe instead of just curl in the commands below to fix this.

curl -H "Authorization: Bearer <ACCESS_TOKEN>"

This will get the list of all the budgets you have. You'll need to find the id of the budget you want to export and use it to perform the following API request:

curl -H "Authorization: Bearer <ACCESS_TOKEN>"<BUDGET ID> --output budget.json

Import the JSON File

  • Open Actual
  • Select the drop down menu and Close File
  • Select Import file
  • Select nYnab
  • Choose the exported json file

Optional: Cleanup

nYNAB calculates its Ready to Assign value differently than Actual's To Budget value. There is no need to worry, we can make them match exactly with a simple change. This is purely a visual change and doesn't affect the budget itself.

You will likely see money leftover in each of the imported months in your To Budget. This extra comes from nYNAB including funds budgeted in future months when calculating its Ready to Assign value. Actual does not include those funds by default, but offers a way to manually reserve funds for use in future months. This is affectively the same thing nYNAB does, but in a manual form. To hold the leftover funds for the next month follow these steps:

  1. Click on your To Budget value for the month.
  2. Select Hold for next month.
  3. Fill in how much you would like to reserve for the future. By default the current To Budget value is filled in. Using this value will bring your To Budget to zero.
  4. Click Hold.
  5. Repeat for all desired months.

A full description of how funds rollover and the hold feature can be found in this article.