Skip to content

Turn the README you already wrote into a listing

README to listing converter

Most projects already describe themselves in a README, and every directory asks for the same fields again. Paste the Markdown and this page pulls out the name, the opening line, the feature list, the install command and the key links, then drafts the fields a listing form asks for and tells you what the README is missing.

Everything runs in your browser. Your README is not uploaded or stored.

How to use it

  1. Paste the README. Copy the raw Markdown of your README, including the badges and code blocks, into the box.
  2. Convert. Press Convert to listing. The parser reads the headings, the first paragraph, the first suitable bullet list and the code blocks.
  3. Check the gaps. Fix anything flagged first: a missing license, no screenshot, or no install section hurts a listing more than a clumsy tagline.
  4. Edit the drafts. Treat the tagline, description and bullets as first drafts. Read them aloud and rewrite anything that sounds like a README rather than a pitch.
  5. Copy the export. Copy the Markdown or the JSON and paste the fields into your listing form or your own tooling.

What the parser reads and the rules it uses

The name is the first top-level heading, in either the hash or the underline style, or an HTML h1 if there is no Markdown one. The description is the first paragraph or quote after it that is not only badges, images or HTML. The features are the first bullet list with two or more items; when a list sits under a heading about features, highlights or why, that one is preferred, and lists under install, contributing or license headings are skipped.

The install command is the first line inside a fenced code block that contains one of these: npm install, npx, yarn add, pnpm add, pip install, pipx install, brew install, cargo install, go install, docker run, gem install or composer require. Links are read from Markdown and HTML anchors with badge links removed. Homepage, docs and license are chosen by link text and address. Images count as screenshots only when they are not badges.

The drafts follow fixed rules. The tagline is the first sentence cut at a word boundary to 60 characters. The short description is the opening paragraph, or its first sentence if that fits within 160 characters, cut at a word boundary otherwise. Each feature bullet is cut to under 90 characters, and at most five are kept. The category is a keyword vote across the README (MCP server, AI, CLI, SaaS, library, or dev tool as the default), so it is a guess. Tags come from the install tooling and the most repeated words in the name and description. Nothing here understands your product, so edit the output.

Questions

Why is my tagline cut off mid-thought?

The tagline is mechanically the first sentence trimmed at a word boundary to 60 characters. If the sentence is long, rewrite it by hand. The count beside the field shows how close you are to the limit.

Why was no install command found?

Only fenced code blocks are read, and only lines that start with a known package manager command such as npm install or pip install. Commands written inline in a sentence or in an indented block are not picked up.

How is the category chosen?

By counting keyword hits for each category in the name, description, feature list and the start of the README. A tie or a weak signal returns dev tool. It is a starting point for the category dropdown, not a classification.

Does it work with READMEs that use HTML?

Partly. Headings, images and links written in HTML are recognised, but a README built mostly from HTML tables or custom layout may give a thin result.

Is my README sent anywhere?

No. The conversion is plain JavaScript in this page, with no request to a server.