Simple Publishing for
Complex Ideas
Why Use Textpress?
Textpress arose from the desire for a nicer way to read Deep Research reports. We find it useful and think you might too.
If you’re like some of us, you feel like an (information-addicted) kid in a candy store using Gemini or OpenAI Deep Research reports.
But how do you save and share complex docs like research reports?
More Beautiful Docs for Humans
Textpress makes it simpler to convert, read, publish, and share long or complex docs with sections, code, tables, citations, and footnotes.
You can use it on any many kinds of documents. It's especially useful for LLM output. Gemini offers Google Doc exports and OpenAI has a PDF export feature, but neither is a great way to read. Sharing reports is also harder than it should be. In addition to being kind of ugly, chat links and Google Docs don’t feel like a “real” web page with a fixed URL that you can send to a friend or post on social media.
Clean Markdown for Machines
Also, if you want to edit, improve, or combine docs using other tools, you typically want content in a simple and clean text format. By having your docs in clean Markdown, you preserve formatting and can manage your docs locally or on GitHub or Obsidian and then republish updates.
What is the airspeed velocity of an unladen swallow?
☞ See this report. You can compare the formatting the original Google Doc exported from Gemini 2.5 Deep Research. We've tried to fix several of the UI annoyances of ChatGPT and Google UI, formatting large tables readably, adding a table of contents, making it easier to use on mobile, etc.
How can I publish reports?
Use the textpress (tp) command-line tool.
It is a quite powerful, open source multi-tool for formatting and publishing documents.
The tp format
command converts from Markdown, .docx, and other formats to more beautiful web pages. If you like the results, the tp publish
command lets you publish them here at textpress.md.
Every doc is converted to both readable HTML and clean Markdown. You can save and use the Markdown to edit, share with LLMs, adapt, and republish as needed. You convert and create HTML locally or—if you create an account—publish them here with a single command and share the link.
Get Started with the Textpress CLI
Install uv: It’s simplest to install Textpress if you have uv installed. If you don’t have it already, open a terminal and run:
curl -LsSf https://astral.sh/uv/install.sh | sh
It may also then ask you to modify your path. (You should only ever need to do this once. Check the uv instructions for more options. Although we highly recommend uv, you can also use any other Python tools to install the textpress package.)
Install the CLI: Install the Textpress CLI with:
uv tool install --upgrade textpress
This adds the
textpress
command to your terminal environment, which is also usable via the handytp
alias. (You can re-run this any time to upgrade textpress.)You can check everything worked with:
tp --help
Set up your API key: Unless you already have one, sign up for a Textpress account and get your API key:
tp setup
(You can re-run this any time.)
How to Format, Publish, and Share Reports
Pick a doc or report: You can try any doc but the best way to try this is create a Gemini Deep Research report (select “Deep Research with 2.5 Pro”) then hit the share icon and “Export to Docs” button. From Google Docs, go to File > Download > Microsoft Word (.docx) and save the .docx file.
Format a doc: You can convert a doc to nicely formatted HTML with
tp format ~/Downloads/'Airspeed Velocity of Unladen Birds.docx' --show
Replace with the path above to a .docx or .md file. (The
--show
is optional)You can try other format docs. Currently DOCX, HTML, and Markdown format work. (More formats, features, and PDF coming soon!)
View locally: You'll see from the above output both an
.md
and an.html
file. You can look at these locally and do what you want with them.Success! Processed files in the workspace: textpress/workspace Results are now at: textpress/workspace/exports/airspeed_velocity_of_unladen_birds.md textpress/workspace/exports/airspeed_velocity_of_unladen_birds.html
Publish: Publish the file with:
tp publish ~/Downloads/'Airspeed Velocity of Unladen Birds.docx' --show
You'll get the Textpress link to the file, which you can use to read or share. The Markdown and HTML files are both published, at URLs like this:
https://textpress.md/your_username/d/airspeed_velocity_of_unladen_birds.html https://textpress.md/your_username/d/airspeed_velocity_of_unladen_birds.md
Repeat: You can also edit the .md file in any editor then rerun
tp format
ortp publish
on the Markdown file to republish it. It’s fine to publish a file multiple times.
Options and Workflows
The
--show
option onformat
orpublish
opens your web browser to show the resultIf you only want to convert to Markdown (no HTML), you can use a command like:
tp convert '~/Downloads/Airspeed Velocity of Unladen Birds.docx'
The CLI saves a directory of files, logs, and cached content in a
textpress
directory (within whatever directory you ran the CLI). You can use files in that directory however you want, or delete it if you no longer need it.The
textpress/workspace
directory has all the files you've worked with. You can look there to see all the files any time:ls -lR textpress/workspace
Textpress by default caches results so it’s faster and doesn’t convert a file a second time it has changed content. Use the
--rerun
option to force it to rerun even if the output is already present.After you've converted a doc to Markdown, you can edit it as you wish then format or publish it:
tp format ./textpress/workspace/docs
If you edit a Markdown file and want to publish it straight from Markdown, that’s fine too. The CLI will tell you the location of the Markdown file (in the
testpress/workspace/exports
directory) and you can edit it in place or copy it to wherever and publish it:tp publish textpress/workspace/exports/airspeed_velocity_of_unladen_birds.md
To export a document in a clean .docx format that you can use in MS Word or Google Docs:
tp export textpress/workspace/exports/airspeed_velocity_of_unladen_birds.md
Tips
Tips on Format Conversions
Textpress is best at converting clean Markdown, HTML, or .docx files (such as saved from Word or Google Docs). When copying plain or rich text, try to use a Markdown format.
Textpress uses a number of tools and libraries to do clean conversions. The goal is to make the .md file as clean as possible, so you can edit or improve them. For complex docs, conversions may not be perfect, both because of the complexity of converting .docx and other files and because many docs (including Gemini Google Docs) have specific errors in formatting. But because the output is Markdown, you can always convert, then edit the doc to fix anything, then
Tips for Gemini
Google Gemini reports use footnotes in the Google Doc for citations. These are superscripts with numbered notes at the end. Textpress does its best to convert these endnotes to proper Github Flavored Markdown footnotes and those get converted to nicely linked HTML.
Sometimes Gemini also tries to format references and footnotes, which is confusing. It can help if you tell it to use footnotes.
Tips for ChatGPT
The native ChatGPT app copies text in a plaintext format that’s not true Markdown. Don’t use this! Use the web app. Scroll to the bottom of a response and look for the copy icon, and this will copy clean Markdown.
Alternately, in the web interface select Edit in canvas and the canvas doc also should give you clean Markdown.
After you've copied the content use the
paste
command to get the copied contents into the Textpress workspace:tp paste --title='Martins and Swallows: A Critical Analysis'
FAQ
Is this mature?
No, it’s brand new, an initial experiment to get your feedback!
Can I publish other things, like blog posts?
Yes, quite easily. In fact, if you give tp convert
or tp format
the URL of a post you have written on your website, Substack, Github, etc., you'll get Markdown and (quite probably prettier) HTML versions of the content. Or you can try it on any Markdown, HTML, or .docx file.
Can I publish copyrighted content?
Use this service for content you or an LLM created. Please only publish content you own or have the legal right to share. Copyrighted material published without permission will be removed.
It didn't convert my doc properly.
Let us know! Of course it is is not perfect on every kind of file, but it's quite easy for us to improve it given example docs you want to publish.
What does it cost?
Publishing is currently free!
We have lots of ideas for more useful features and may offer some these as part of paid plans in the future for the more powerful and advanced features.
We value you giving this a try and giving us feedback! So for our first 200 accounts, regular publishing will always be free.
Is it open source?
Yes, the Textpress tooling is open source on GitHub. Textpress is built using Josh’s new kash framework, which is also open source.
Do I have to use the command line?
You can read, share, and create an account on the website.
But to publish or convert content, you currently need to use the command-line interface. It gives you the most flexibility and means we can offer some interesting features quickly. Besides, the command line builds character.
Who built this?
Josh (GitHub, Twitter) and Kevin (GitHub, Twitter).
Can I help make it better?
Please share with friends and on social media any cool docs or reports you make!
And if you find this interesting, please give us your ideas, use cases, and what works or doesn’t work! If you use X/Twitter, share it there and tag us (@ojoshe and @kevins8) so get your feedback.
How can I contact you?
Twitter DMs are easiest. Our emails are on our GitHub profiles.