About Bismuth
Privacy & data
Bismuth runs entirely in your browser. Your documents are parsed locally — they are never uploaded to any server. No data leaves your machine.
The only 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.
No cookies, no local storage, no fingerprinting.
Toolkit Usage Logging
If you choose to sign in with your AT Protocol identity, Bismuth will create a record in your
own repository using the click.croft.toolkit.use lexicon each time you
convert or fetch documents. This record contains only the number of documents processed
and a timestamp, allowing you to track your activity across the croft.click suite. No
document content or metadata is included in these usage records.
Supported formats
Leaflet
Converts pub.leaflet.content and site.standard.document records with full block support — headings,
paragraphs, lists, images, and embeds.
Pckt
Handles blog.pckt.content with both inline and blob-mode content
resolution.
Offprint
Supports app.offprint.content including task lists, web embeds, and
coloured highlights.
What's converted
- Headings (h1–h6)
- Paragraphs and line breaks
- Bold, italic, and strikethrough
- Ordered and unordered lists
- Links and images
- Code blocks (fenced)
- Block quotes
- Task lists (Offprint)
Not converted: Embeds are represented as links. Complex layouts (tables, columns) are flattened.
CLI / Local usage
Bismuth also ships as a Node.js command-line tool for converting documents locally or in scripts.
Prerequisites
Install & build
# Clone the repository
git clone https://github.com/ewanc26/pkgs.git
cd pkgs/packages/bismuth
# Install dependencies
pnpm install
# Build
pnpm buildUsage
# Convert a file
pnpm start input.json
# Convert and write to a file
pnpm start input.json -o output.md
# Read from stdin
cat input.json | pnpm start -
# Dry run (print to stdout)
pnpm start input.json --dry-runFull documentation is available at docs.ewancroft.uk/projects/bismuth.
Licence
Bismuth 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 Bismuth converts from