https://github.com/kraxen72/npconv
NewPipe ⇌ LibreTube Backup Converter
https://github.com/kraxen72/npconv
backup converter json libretube newpipe
Last synced: 2 months ago
JSON representation
NewPipe ⇌ LibreTube Backup Converter
- Host: GitHub
- URL: https://github.com/kraxen72/npconv
- Owner: KraXen72
- Created: 2025-12-16T15:23:56.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-02-03T00:20:18.000Z (5 months ago)
- Last Synced: 2026-02-03T10:55:19.641Z (5 months ago)
- Topics: backup, converter, json, libretube, newpipe
- Language: TypeScript
- Homepage: https://kraxen72.github.io/npconv/
- Size: 4.22 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## npconv
Convert between [newpipe](https://github.com/TeamNewPipe/NewPipe) and [libretube](https://github.com/libre-tube/LibreTube) backups. [Go to npconv](https://kraxen72.github.io/npconv/)
## WIP
The app is work-in-progress. All of the features may or may not work as expected.
- [x] verify uhabits output for correcteness & test it in-app
- [x] merge uhabits branch into main
- [ ] clean up UI to look less vibecoded
- [ ] convert UI to solidjs
- [ ] add screenshots to README & update it to reflect new app functionality
# old README (for now, will be updated later)
If you have used both apps in the past, for best results, use the `Merge` option.
I have tested the tool both ways and it worked for me fine.
If you have duplicate playlists in LibreTube after importing a backup, go to `App Info`, clear all data, and re-import to fix.
Conversion happens entirely in browser due to `sql.js`'s wasm implementation of sqlite.
## disclaimer
> **WARNING!**
> **ALWAYS MAKE BACKUPS OF BOTH BEFORE ATTEMPTING ANY OPERATION**
> This tool is experimental!!
> A backup generated by npconv is likely to be incorrect in at least some regard.
> It may likely cause newpipe/libretube to repeatedly crash, causing you to have to clear the app's data.
> By using the tool, you accept that I am not responsible for any lost data or other damage caused.
> _Note:_ The code in this repo may be subpar/spaghetti
If you encounter any issues, and you'd like them see fixed:
1. best way is to open a pull request fixing the issue.
2. Alternatively, open an issue including **both** your backup files (you may react them as much as you want)
I cannot promise when they will be fixed for option 2), so option 1) is preferred.
## usage example
E.g. If you used newpipe 6months ago, then used libretube since now, and are going back to newpipe:
1. select `Merge`
2. Load your 6-months-old newpipe backup
3. load your current, latest libretube export
4. click `Merge into NewPipe`