NOTE: This repository is no longer supported or updated by me due to constant changes in Figma and lack of time, resource, and contribution to the project. If you wish to continue to develop this code yourself, we recommend you fork it. And if you are looking for another solution I recommend Magicul!
1- Make sure you have Node.js installed on your machine.\ (We follow the latest maintenance LTS version of Node.)
2- Run the following command on your terminal:
npm install -g figma-backup
or install it via Yarn:
yarn global add figma-backup
It is going to download and install the node package and a recent compatible version of Chromium in your global node_modules
directory (You can find it via npm list -g | head -1
).
Note: If the installation stopped with the 403 Error (Forbidden), you'll have to use a VPN or Proxy to another region/country in order to access the Chromium source.
Note (Linux Machines): Make sure all the necessary dependencies are installed. You can go to the <path_to_node_modules>/node_modules/puppeteer/.local-chromium/linux-******/chrome-linux
and run ldd chrome | grep not
on a Linux machine to check which dependencies are missing. The common ones are provided below.
You can also use docker container and run the figma-backup
command in it.
To use the interactive command-line interface, run:
figma-backup-interactive
To use the noninteractive version, run:
figma-backup -e "<YOUR_EMAIL>" -p "<YOUR_PASSWORD>" -t "<YOUR_ACCESS_TOKEN>" --projects-ids "ID1" "ID2" ... "IDx"
For more information about the noninteractive cli options run:
figma-backup --help
To get
project_id
from project page's URL:\https://www.figma.com/files/project/{project_id}/{project_name}
To get
access_token
:
- Login to your Figma account.
- Head to the account settings from the top-left menu inside Figma.
- Find the personal access tokens section.
- Click Create new token.
- A token will be generated. This will be your only chance to copy the token, so make sure you keep a copy of this in a secure place.
The backup files will be found in figma-backup-root
directory relative to the working directory which you ran the figma-backup
command.
figma-backup-root
:figma-backup-root/
├── cookies.json
└── backups/
└── [ISOStringifiedDate]/
//i.e "2022-09-16T18:14:10.708Z"
├── Project1/
│ ├── File1.fig
│ └── File2.fig
└── Project2/
├── File1.fig
└── File2.fig