About rock-tumbl
Privacy & data
Unlike the browser-only tools in this suite, rock-tumbl converts your export on the server: your ZIP is uploaded, parsed, and converted, and the temporary file is deleted afterwards. Nothing is kept — but the upload does leave your machine, so only convert exports you are comfortable transmitting.
The only other network requests made are:
- Google Fonts — the layout loads Inter and JetBrains Mono via Google Fonts. If you prefer not to make this request, you can self-host the fonts or use a content-blocking extension.
- Your PDS — only if you choose to publish. Your handle and app password go directly to your PDS for authentication.
No cookies, no fingerprinting.
Toolkit Usage Logging
If you choose to sign in with your AT Protocol identity, rock-tumbl will create a record in your
own repository using the click.croft.toolkit.use lexicon each time you
convert an export. This record contains only the number of documents converted
and a timestamp, allowing you to track your activity across the croft.click suite. No
export content or metadata is included in these usage records.
Supported content
Export layouts
Tumblr exports come in two layouts, and both are accepted — including the
nested posts.zip inside the downloaded archive:
- Current HTML exports (
posts/html/*.html) - Older XML exports (
posts/posts.xml, with HTML bodies merged in when present)
Post types
- Text posts
- Photo posts (with captions)
- Quote posts
- Chat / dialogue posts
- Audio posts
- Video posts
- Ask / answer posts
Not converted: Private and draft posts are skipped unless you tick “Include private/draft posts”. Anything unrecognised is rejected with a descriptive error rather than silently dropped.
CLI / Local usage
rock-tumbl also ships as a Node.js command-line tool, which converts fully
locally — nothing leaves your machine unless you pass --publish.
Prerequisites
Install & build
# Clone the repository
git clone https://github.com/ewanc26/pkgs.git
cd pkgs/packages/rock-tumbl
# Install dependencies
pnpm install
# Build
pnpm buildUsage
# Preview a conversion without touching the network
rock-tumbl \
--input tumblr-export.zip \
--site https://myblog.example \
--output preview.json
# Publish to Standard.site
rock-tumbl \
--input tumblr-export.zip \
--site https://myblog.example \
--publish \
--handle you.example \
--password xxxx-xxxx-xxxx-xxxxLicence
rock-tumbl is free software released under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
In short: you are free to use, modify, and redistribute this software, but any modified version you run as a network service must also be released under the same licence with its source code made available.
The full licence text is included in the repository.
Credits
Created by
Contributors
Contributions via GitHub are always welcome. The full contributor list is maintained there.
Dependencies
- Svelte / SvelteKit — UI framework
- Lucide — icons
- Tailwind CSS — utility styles
- Standard.site — the document format rock-tumbl converts to