Skip to main content
Readme.so provides a comprehensive library of pre-built README section templates. Each template includes markdown boilerplate that you can customize for your project.

Available Section Templates

The sections library includes 33 pre-built templates organized alphabetically. All templates are defined in data/section-templates-en_EN.js.

Project Documentation Sections

Slug: title-and-descriptionThe most important section of your README - includes your project title and a brief description.
# Project Title

A brief description of what this project does and who it's for
This section is selected by default and cannot be removed.
Slug: badgesDisplay shields.io badges for licenses, build status, and more.
## Badges

Add badges from somewhere like: [shields.io](https://shields.io/)

[![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)
Slug: featuresHighlight key features of your project.
## Features

- Light/dark mode toggle
- Live previews
- Fullscreen mode
- Cross platform
Slug: demoLink to or embed a demo of your project.
## Demo

Insert gif or link to demo
Slug: screenshotsShow your project in action with screenshots.
## Screenshots

![App Screenshot](https://dummyimage.com/468x300?text=App+Screenshot+Here)

Setup and Installation Sections

Slug: installationInstructions for installing your project via package managers.
## Installation

Install my-project with npm

\`\`\`bash
  npm install my-project
  cd my-project
\`\`\`
Slug: run-locallyStep-by-step guide to run the project from source.
## Run Locally

Clone the project

\`\`\`bash
  git clone https://link-to-project
\`\`\`

Go to the project directory

\`\`\`bash
  cd my-project
\`\`\`

Install dependencies

\`\`\`bash
  npm install
\`\`\`

Start the server

\`\`\`bash
  npm run start
\`\`\`
Slug: env-variablesDocument required environment variables.
## Environment Variables

To run this project, you will need to add the following environment variables to your .env file

\`API_KEY\`

\`ANOTHER_API_KEY\`
Slug: deploymentInstructions for deploying your project.
## Deployment

To deploy this project run

\`\`\`bash
  npm run deploy
\`\`\`

Usage and Technical Sections

Slug: usage-examplesShow code examples of how to use your project.
## Usage/Examples

\`\`\`javascript
import Component from 'my-project'

function App() {
  return <Component />
}
\`\`\`
Slug: apiDocument your API endpoints and functions.
## API Reference

#### Get all items

\`\`\`http
  GET /api/items
\`\`\`

| Parameter | Type     | Description                |
| :-------- | :------- | :------------------------- |
| \`api_key\` | \`string\` | **Required**. Your API key |
Slug: techList the technologies used in your project.
## Tech Stack

**Client:** React, Redux, TailwindCSS

**Server:** Node, Express
Slug: colorreferenceDocument your project’s color palette.
## Color Reference

| Color             | Hex                                                                |
| ----------------- | ------------------------------------------------------------------ |
| Example Color | ![#0a192f](https://dummyimage.com/10/0a192f/white?text=+) #0a192f |

Testing and Quality Sections

Slug: testsInstructions for running your test suite.
## Running Tests

To run tests, run the following command

\`\`\`bash
  npm run test
\`\`\`
Slug: optimizationsDocument performance improvements and optimizations.
## Optimizations

What optimizations did you make in your code? E.g. refactors, performance improvements, accessibility

Community and Support Sections

Slug: contributingGuidelines for contributing to your project.
## Contributing

Contributions are always welcome!

See \`contributing.md\` for ways to get started.

Please adhere to this project's \`code of conduct\`.
Slug: authorsCredit the project authors and maintainers.
## Authors

- [@koushikromel](https://www.github.com/koushikromel)
Slug: supportProvide support contact information.
## Support

For support, email [email protected] or join our Slack channel.
Slug: feedbackInvite users to provide feedback.
## Feedback

If you have any feedback, please reach out to us at [email protected]

Additional Information Sections

Slug: documentationLink to full documentation.
## Documentation

[Documentation](https://linktodocumentation)
Slug: licenseSpecify your project’s license.
## License

[MIT](https://choosealicense.com/licenses/mit/)
Slug: roadmapShare your project’s future plans.
## Roadmap

- Additional browser support
- Add more integrations
Slug: acknowledgementThank contributors and list resources.
## Acknowledgements

 - [Awesome Readme Templates](https://awesomeopensource.com/project/elangosundar/awesome-README-templates)
 - [Awesome README](https://github.com/matiassingers/awesome-readme)
Slug: faqAnswer frequently asked questions.
## FAQ

#### Question 1

Answer 1

#### Question 2

Answer 2
Slug: used-byList companies or projects using your project.
## Used By

This project is used by the following companies:

- Company 1
- Company 2
Slug: lessonsShare what you learned building the project.
## Lessons Learned

What did you learn while building this project? What challenges did you face and how did you overcome them?
Slug: appendixAdditional information that doesn’t fit elsewhere.
## Appendix

Any additional information goes here

GitHub Profile Sections

Readme.so also includes special sections designed for GitHub profile READMEs:
Slug: github-profile-intro
# Hi, I'm Koushik! 👋
Slug: github-profile-about-me
## 🚀 About Me
I'm a full stack developer...
Slug: github-profile-skills
## 🛠 Skills
Javascript, HTML, CSS...
Slug: github-profile-other
## Other Common Github Profile Sections
👩‍💻 I'm currently working on...

🧠 I'm currently learning...

👯‍♀️ I'm looking to collaborate on...

Custom Sections

In addition to the pre-built templates, you can create your own custom sections:
1

Click 'Add Custom Section'

Find the button in the Sections column (implemented in CustomSection.js:128-146)
2

Enter Section Title

Type a descriptive name for your section
3

Click 'Add Section'

Your custom section is created with a basic markdown heading
4

Edit Content

Customize the markdown content in the editor
Custom sections are created with the slug format custom-{title} where {title} is your section name in kebab-case.
Custom sections behave exactly like built-in sections - you can reorder them, edit them, reset them, and delete them using the same controls.

Section Management

Adding Sections

Click any section from the available sections list to add it to your README. The section will:
  • Appear in the selected sections list
  • Be added to the end of your README (you can reorder it later)
  • Automatically focus in the editor for immediate editing

Removing Sections

Click the delete icon (X) on any selected section to remove it from your README. The section will:
  • Return to the available sections list
  • Be removed from your README preview
  • Clear from the editor if it was currently focused
Removing a section does not delete your custom edits. If you add the section back, your previous edits will still be there (they’re stored in local storage).

Resetting Sections

Click the reset icon on any section to restore it to its original template:
  • For built-in sections: restores the default markdown template
  • For custom sections: restores the basic heading with your section title

Resetting All Sections

Click the “Reset” button in the Sections column header to remove all sections and start fresh:
This action requires confirmation and will:
  • Remove all selected sections except “Title and Description”
  • Clear all your edits and customizations
  • Delete the backup from local storage
This action cannot be undone.

Searching Sections

Use the search filter to quickly find sections in the available sections list:
  1. Type keywords in the search box (e.g., “install”, “test”, “deploy”)
  2. The list filters to show only matching sections
  3. The search is case-insensitive and matches against section names
  4. Clear the search to see all sections again
The search functionality is implemented in SectionFilter.js and uses a simple substring match against section names.

Section Order Persistence

Your section selection and order are automatically saved to browser local storage:
  • Key: current-slug-list
  • Format: Comma-separated list of section slugs
  • Updated: Every time you add, remove, or reorder sections
When you return to Readme.so, your sections are automatically restored in the same order you left them.

Build docs developers (and LLMs) love