Freetube-import
Creates FreeTube .db playlist files from a list of youtube video urls separated by a newline (.txt) or from .csv files exported from 'Google takeout'.
Run the scrip with a path to a valid .txt file of youtube urls, or youtube's .csv playlist file. Then import the resulting .db file into FreeTube.
Install via pip:
pip install freetube-import
https://pypi.org/project/freetube-import/
Basic usage:
freetube-import <file>... <file2> <file3>
Help message:
usage: freetube_import.py [-h] [-a] [-b] [-e] [-s] [filepath ...]
Import youtube playlists
positional arguments:
filepath path to a valid .txt or .csv playlist file or files
optional arguments:
-h, --help show this help message and exit
-a, --list-all Takes all .txt and csv files as input from the current working directory.
-e, --log-errors Also lists the videos that failed the metadata fetch
-s, --stdin Takes stdin as input and outputs dirextly to stdout
-n, --name NAME sets a name for playlist, otherwise uses input filename
-d, --debug Debug mode with more info
While buggy and experimental stdin mode can used in scripts and automation. Not for average users.
cat test.txt | freetube-import -s > std_test.db
It might be usefull to set a name that shows up in FreeTube. Otherwise in stdin mode a placeholder name is generated.
cat test.txt | freetube-import -s -n playlist-name > std_test.db
pro tip: Try appending the ouput to FreeTube's own playlist.db file. So playlists get automatically added. (at your own risk, backup your files beforehand, close freetube to avoid file corruption)
cat test.txt | freetube-import -s -n playlist-name >> your/path/FreeTube/playlists.db
Works without YouTube api through a custom version of YouTube-search library. Also works atleast on piped links, probably also on lists of Invidious links and other links that follow the standard youtube url format. VPN/proxy isn't strictly nessesary by my experience. I have run 1,5k videos videos through this in one sitting and gotten no ip blocks.
Dependencies
pip install requests
https://pypi.org/project/requests/
pip install tqdm
Metadata
Release files for freetube-import 0.38.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| freetube_import-0.38.0.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| freetube_import-0.38.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.1 kB
Release files / freetube_import-0.38.0.tar.gz
| Download URL | freetube_import-0.38.0.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4388211f3ecaa9fc0ac20bbf2d4e7bd558a1414319e541acd9f067a150a4a6f1
|
|
BLAKE2b-256 checksum How to use checksums |
caa15adf2188160081ad791e76899af128c4d40415ab218e493e9e5c2f1215ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.
Transparency logRelease files / freetube_import-0.38.0-py3-none-any.whl
| Download URL | freetube_import-0.38.0-py3-none-any.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
67a5af628fc2eb27cd362111782429b47069422af529ab01427a4c952b6d2c76
|
|
BLAKE2b-256 checksum How to use checksums |
f1678e6d28c1684d711bddd83a572b394efe736ac9ffa9761c4cb4465b6d2f63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 21, 2026.
Transparency log