Download TikTok videos without watermark β desktop app + browser userscript, shared cache, GUI, and more.
π« No watermark Β· πΊ Original quality Β· πΎ Shared cache Β· π Continuous downloads Β· π₯οΈ GUI Β· π Clipboard mode Β· π³ Docker
If this helped you, consider starring the repo β
| Feature | How to use |
|---|---|
| π±οΈ Drag & drop | Drop a URL, .txt, or .url shortcut onto run.bat |
| π Clipboard monitor | python tt.py --clipboard or enable in GUI / config.json |
| π₯οΈ GUI | Double-click run_gui.bat |
| π€ Bulk @username | python tt.py @creator or paste @creator in the prompt |
| π Mac/Linux | ./dependencies.sh then ./run.sh |
| π³ Docker | docker compose run --rm ez-tiktok "URL" |
| βοΈ Settings | Copy config.json.example β config.json |
Ez-TikTok-Downloader by AlexRabbit downloads TikTok content without the watermark overlay.
| Feature | Description |
|---|---|
| π Original quality | TikWM API + quick API fallback |
| πΌοΈ Photo fallback | gallery-dl when TikWM fails on slideshows |
| π Private videos | sessionid.txt for friends-only content |
| π Organized by creator | profiles/username/ folders |
| πΎ Shared cache | Same link cache as the browser userscript |
| π Continuous mode | Download one after another β no "Press any key" |
| π€ Profile bulk | Download all public posts from @username |
Drop onto run.bat (or run_drop.bat):
- A TikTok URL (if Windows passes it as an argument)
- A
.txtfile with one URL per line - A
.urlInternet Shortcut file
The download starts immediately, then the continuous prompt loop continues.
Auto-download when you copy a TikTok link Also available as a checkbox in the GUI.
Double-click run_gui.bat (Windows) or run ./gui.sh (Mac/Linux).
- URL field + Download button
- Profile bulk download field
- Progress bar (extraction + download %)
- Clipboard monitor toggle
- Scrollable log
Linux: install
python3-tkif the GUI does not open (sudo apt install python3-tk).
Download all public posts from a creator:
python tt.py @username
python tt.py --profile username
python tt.py "https://www.tiktok.com/@username"Or paste @username in the interactive prompt or GUI profile field.
Copy config.json.example β config.json:
| Key | Default | Description |
|---|---|---|
output_dir |
profiles |
Download folder |
cache_file |
link_cache.json |
Cache path |
batch_delay_sec |
2 |
Delay between batch/profile items |
naming_template |
{date} - {profile_uid} - {username} - {video_id}{ext} |
Filename pattern |
clipboard_monitor |
false |
Auto-download copied links |
clipboard_poll_sec |
1.5 |
Clipboard check interval |
request_timeout |
25 |
HTTP timeout seconds |
chmod +x dependencies.sh run.sh gui.sh
./dependencies.sh # once
./run.sh # CLI
./gui.sh # GUIcp config.json.example config.json
docker compose build
docker compose run --rm ez-tiktok "https://www.tiktok.com/@user/video/1234567890"Volumes: ./profiles, ./link_cache.json, ./config.json
Clipboard monitor is not available inside Docker.
- Download and extract the ZIP
- Double-click
dependencies.bat(once) - Double-click
run.bat
Optional: copy sessionid.txt.example β sessionid.txt for private videos.
Copy sessionid.txt.example β sessionid.txt, paste your TikTok sessionid cookie value.
For photo/slideshow fallback: copy cookies.txt.example β cookies.txt.
- AlexRabbit β creator & maintainer
- TikTok_Rabbit userscript β browser companion + shared cache
- TikWM β download link API
- gallery-dl β photo fallback & profile listing
Made with β€οΈ by AlexRabbit
π¬ Ez-TikTok-Downloader Β· Shared cache Β· GUI Β· Clipboard Β· Docker Β· Bulk profiles