Use freyr-js GitHub to Download Music from Streaming Platforms

By Nick Orin Posted on May 4, 2026

how to use freyr-js

Open-source tools have made it easier to manage and access digital music outside standard streaming apps. In this space, freyr-js is one example mainly used by developers and advanced users who want more control over how music is handled.

freyr-js is a Node.js command-line tool that runs on Windows, macOS, and Linux. It works through terminal commands instead of a graphical interface. Its main purpose is to process links from supported streaming platforms and organize audio files with basic metadata for local storage.

There are also simpler alternatives for users who prefer a visual interface. One example is ViWizard Streaming Audio Recorder, which supports audio capture from more than ten streaming services and offers a more straightforward, app-based experience.

This guide will explain what freyr-js is, how it works, how to set it up, and how it compares with ViWizard Streaming Audio Recorder to help explore similar options.

icon
ViWizard All-In-One Music Converter

Get access to unlimited music downloads from Spotify, Apple Music, Amazon Music, Tidal, Qobuz, Deezer, Pandora, SoundCloud, YouTube Music, and many more with this all-in-one tool.

Part 1. What Is freyr-js? (GitHub Node.js CLI Music Downloader Overview)

freyr-js
freyr-js
Platforms:
Windows, macOS, Linux (Node.js required)
Pricing:
Free (open source on GitHub)
Core Functions:
Convert Spotify, Apple Music, and Deezer links into local audio files
Audio Output:
AAC (.m4a)
Features:
Metadata tagging, batch downloads, organized folder structure

miraclx freyr-js

Hosted on GitHub, freyr-js is an open source Node.js CLI tool developed by miraclx for working with music links from Spotify, Apple Music, and Deezer. It is not an official downloader. Instead, it processes streaming URLs, extracts metadata, and builds local audio files using external sources such as YouTube.

Overall, freyr-js acts as a CLI pipeline that combines link parsing, metadata extraction, audio matching, encoding, and file organization in one workflow.

Part 2. What Does freyr-js Do? (Core Features and Functions)

freyr-js offers several features that make it a multi-platform music downloader, including:

  • icon

    Download Music from Streaming Links

    freyr-js is a Node.js CLI tool that works with music links from Spotify, Apple Music, and Deezer. It takes streaming URLs and turns them into local audio files using metadata matching and external audio sources. Instead of downloading directly from a platform, it rebuilds tracks based on available sources and metadata.

  • icon

    Extract Detailed Metadata Automatically

    When you provide a track, album, or playlist link, freyr-js extracts metadata like title, artist, album, track number, release date, and cover art. This metadata is used to create clean file names and a structured folder layout, so the music library stays organized after download.

  • icon

    Match and Fetch Audio from External Sources

    After reading metadata, freyr-js searches external sources, often YouTube or YouTube Music depending on setup, to find matching audio. It compares results and selects the closest match for each track before moving to download and processing.

  • icon

    Encode and Organize Music Files

    Once audio is found, freyr-js encodes it into formats like AAC, usually .m4a up to 320 kbps. It embeds metadata and cover art into each file, then sorts everything into folders based on artist, album, and track order, so the final library stays structured.

  • icon

    Handle Batch Downloads

    freyr-js supports full playlists and multiple links in batch mode. It processes them with concurrency control, retry handling, and progress tracking, which helps keep larger downloads stable and easier to manage.

  • icon

    Create a Complete Music Workflow

    freyr-js works as a full pipeline rather than a simple downloader. It combines link parsing, metadata extraction, audio matching, encoding, tagging, and file organization into one CLI workflow, allowing users to build structured local music libraries from streaming links in one process.

Pros
  • Free and open source
  • Works on Windows, Mac, and Linux
  • Supports playlists and batch downloads
  • Adds song info and album art automatically
  • Organizes files into folders
Cons
  • Needs Node.js and terminal use
  • No simple app or interface
  • Uses external sources for audio
  • Sometimes matches are not accurate
  • Not an official streaming tool

Part 3. How to Install freyr-js on Windows, macOS, and Linux

freyr-js is installed through Node.js and works on Windows, macOS, and Linux with the same general setup. Users usually install it via npm or Docker after installing Node.js, then confirm it runs in the terminal. Once installed, it is used directly from the command line.

Windows

01Open PowerShell as Administrator, then install Node.js (LTS version) from the official website. During installation, make sure Add to PATH is enabled, then restart your computer if required.

02Install required dependencies for freyr-js, including AtomicParsley for metadata tagging and FFmpeg for audio processing and conversion, to ensure proper music handling.

03Open Command Prompt, then install freyr-js globally using the command below.

npm install -g freyr
copy

04Confirm the installation by running the command below.

freyr --help
copy

05If the help menu appears, freyr-js is installed correctly and ready to use.

macOS

01Open Terminal, then install Homebrew if it is not already installed, and restart Terminal after installation if needed.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
copy

02Install required tools using Homebrew, including Node.js, AtomicParsley, and FFmpeg, to support audio processing and metadata tagging.

brew install node atomicparsley ffmpeg
copy

03Install freyr-js globally using the command below.

npm install -g freyr
copy

04Verify the installation by running the command below.

freyr --help
copy

05If the CLI help menu appears, installation is complete and freyr-js is ready to use.

Linux

01Open Terminal, then install required dependencies based on your system distribution, including Node.js, npm, AtomicParsley, and FFmpeg, to ensure full functionality.

Debian / Ubuntu:
sudo apt update
sudo apt install nodejs npm atomicparsley ffmpeg
copy
Arch Linux:
sudo pacman -S nodejs npm atomicparsley ffmpeg
copy

02Install freyr-js globally using the command below.

npm install -g freyr
copy

03Confirm installation by running the command below.

freyr --help
copy

04If the help output appears, freyr-js is installed successfully and ready to use.

Part 4. How to Use freyr-js to Download Music from Supported Platforms

Start by running freyr with a supported music link or URI. For a single track, use freyr [link], and it will detect and process the source automatically. For albums or artists, just paste the full URL. freyr will scan it, match available audio sources, and prepare the downloads.

For multiple items, you can enter several links in one command or load them from a text file using the input flag. The file can also include comments to help organize the queue.

In practice, it works best when links are grouped by album or artist, which keeps the process cleaner and reduces repeated runs.

Single-Track Conversion

01Open Terminal (macOS/Linux) or Command Prompt (Windows). You can optionally move into a folder first.

cd Music
copy

02Run freyr-js with a single track URL.

freyr <music-track-url>
copy

03freyr-js will automatically read metadata such as artist, album, and track name, match a suitable audio source, download and encode the track, add album art and tags, and save it in a structured folder layout organized by artist and album.

04Keep your internet connection stable during processing since freyr-js relies on external sources for audio matching.

05After completion, files are automatically organized by artist and album.

Batch Downloading

Method 1: Multiple URLs in one command

01Open Terminal or Command Prompt.
02Run freyr-js with multiple links.
freyr <url1> <url2> <url3>
copy
03freyr-js will process each link sequentially and organize the output automatically.
04Ensure all links are valid and supported platform URLs.

Method 2: Batch file input (recommended for large lists)

01Create a file named queue.txt and add one URL per line.
https://open.spotify.com/track/xxxx
https://open.spotify.com/track/yyyy
https://open.spotify.com/album/zzzz
copy
02Open Terminal or Command Prompt and navigate to the file location.
cd path/to/folder
copy
03Run freyr-js using batch mode.
freyr -i queue.txt
copy
04freyr-js will read each line in order, process tracks or albums automatically, extract and match metadata, download and encode audio, embed tags and album art, and organize everything into a structured music library.
05Do not stop the process while it is running to avoid incomplete results.

Part 5. Best freyr-js Alternatives for Multi-Platform Music Downloading

sign in apple music account

freyr-js is one option in a wider set of tools for music downloading, while alternatives like spotDL or yt-dlp based setups offer different workflows. Some focus on easier use, while others provide more control or broader platform support.

Another option is a dedicated streaming audio recorder such as ViWizard Streaming Audio Recorder. Unlike freyr-js or similar tools that rely on link processing or source matching, it converts original audio directly across 10+ music services. It saves audio in common formats including MP3, M4A, M4B, WAV, AIFF, and FLAC. It supports platforms like Spotify, Apple Music, Deezer, Tidal, SoundCloud, YouTube Music, Amazon Music, and others. It also includes features like batch recording and basic music organization, making it a simpler option for users who prefer direct recording instead of command-line tools.

icon
ViWizard All-In-One Music Converter

Get access to unlimited music downloads from Spotify, Apple Music, Amazon Music, Tidal, Qobuz, Deezer, Pandora, SoundCloud, YouTube Music, and many more with this all-in-one tool.

choose streaming service Step 1: Choose the streaming service

After installing and opening ViWizard Streaming Audio Recorder, you will see a list of supported platforms on the homepage. Select a service such as SoundCloud, then the built-in web player opens inside the app. Sign in with your account to access your library, including tracks, albums, and playlists.

find and add music Step 2: Find and add music

Inside the built-in player, search for music by song, artist, album, or playlist. You can also paste a direct link into the search bar to open content quickly. Once found, open the album or playlist and click the Add Music button to queue tracks. You can review the list, remove songs, or add more before confirming.

review conversion list Step 3: Review the conversion list

Open the conversion list to check all selected tracks before processing. Here you can remove unwanted items, reorder songs, or sort them by title, artist, or album to keep everything organized.

start converting and save files Step 4: Start converting and save files

Click the Convert button to start recording and conversion. The tool processes each track based on your settings and shows progress in real time. When finished, the audio is saved locally in your chosen format and ready for offline use on any device.

Part 6: Conclusion

freyr-js is a CLI tool for users who want more control over turning music links into local files. It focuses on metadata extraction, external audio matching, and structured folder output, which helps keep music libraries organized. However, it requires technical setup and relies on external sources, so it may not suit every user.

ViWizard Streaming Audio Recorder is a dedicated software that downloads and converts audio directly across multiple platforms and saves it in common formats without needing command-line setup. It is worth trying as an easier alternative.

You May Be Interested

qobuz dl review

Latest Qobuz-DL Review and Best Alternatives

Learn More >>
zspotify gui

How to Use ZSpotify Music Downloader with a GUI

Learn More >>
how to use spotdl

How to Use SpotDL: Review, Tutorial, and Best Alternatives

Learn More >>
how to use zotify

How to Install and Use Zotify

Learn More >>
onethespot downloader

Download & Install OnTheSpot Downloader

Learn More >>
spowlo

Spowlo: Full Review & Best Alternatives

Learn More >>

Leave a Comment (0)

  1. Home >
  2. Spotify >
  3. Use freyr-js GitHub to Download Music from Streaming Platforms