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.
Analytics
This site uses Umami, an open-source, GDPR-compliant analytics tool hosted at analytics.ewancroft.uk. It collects anonymous page views and referrer data — no cookies, no personal data, no cross-site tracking. Your IP address is truncated before processing. You can verify the privacy policy at umami.is/privacy.
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