Github Readme Quotes
September 29, 2025 ยท View on GitHub
Github Readme Quotes: Dynamic quote generator for your GitHub readmes

Current status
-
Project Status: Migrated to Vercel Cloud
-
Project Deployment Status: I have moved it from Heroku to Vercel Cloud now. Please access the content from UI on https://github-readme-quotes-returns.vercel.app and utility on https://github-readme-quotes-bay.vercel.app/quote
-
Self-Hosting and Contributions: If you wish to host the project on your own, you can fork the repository and deploy it according to your needs. Feel free to reach out to me if you require any assistance or have inquiries about the project. Your contributions and involvement in the project are welcome.
Big shoutout to Vercel for their amazing hosting service! @vercel
Featuring on
Inspired by @anuraghazra
Use User Interface, to view designed quotes and copy link and paste it directly
Features
| Sl No | Feature Name | Description |
|---|---|---|
| 1 | Dynamic Quotes | Different quotes every time its rendered for GitHub Profile Readme |
| 2 | Colorful Themes | Various colorful themes available for cards |
| 3 | Design Layouts | Different Layout design cards are available |
| 4 | Animation | Animations available for quote cards |
| 5 | Custom Quotes from GitHub Gists | You can add custom quotes of your own or own choice from GitHub Gists json files |
| 6 | Quotes based on Category | Different category based quotes are available |
Note: To read an article on this project, please refer: GitHub Profile README : Animated Dynamic Quote Generator
Github Readme Quotes
Copy and paste the following markdown content to display the quote.

You can display your quote in different themes without any manual customization.
Use ?theme=THEME_NAME parameter as shown below.

Available Themes
dark, radical, merko, gruvbox, tokyonight, onedark, cobalt, synthwave, highcontrast, dracula
Dark
Light Theme
You can explore different themes here.
Feel free to contribute different themes.
You can also change the layout of your templates.
Use ?layout=LAYOUT parameter as shown below

Layout 1 (Default)
Layout 2 (Socrates)
You can explore different layouts here.
Feel free to contribute different layouts.
You can also add fonts to your templates.
Use ?font=FONT_NAME parameter as shown below

Font 1 (Default)
Font 2 (Redressed)
You can explore different fonts here.
Feel free to contribute different fonts.
You can also add animations to your templates.
Use ?animation=ANIMATION paramater as shown below

Animation 1
You can explore different animations here.
You can also provide a file with the list of quotes and a random quote will be generated for you.
Follow the steps to provide your own custom quotes
-
Use the template provided at here and write your own file with multiple quotes.
-
Save the file in the repository in any (public) directory or anywhere in the internet.
-
Get the link of the file.
-
Use
?quotesUrl=URLas shown below
You can also provide a category to fetch the list of quotes based on certain category and a random quote will be generated for you based on category you specify.
Available Categories
| general | life | success | motivational |
| fun | programming | dream | failure |
| gaming | birthday | Humorous | Travel |
-
Use
quoteCategory=categoryNameas shown below
Feel free to contribute different quotes to different categories.
Follow the steps to add quotes to category
- Add the quote you want in this file based on the category it falls into.
- If the category you want doesn't exist, feel free to add the category in this file and add the quotes.
You can customize the border color of your templates. Please note that this feature is available only with the Default layout.
Use ?borderColor=COLOR paramater as shown below

-
Unsplash Background
You can fetch random background images from Unsplash by specifying two parameters:
bgSource=unsplashunsplashQuery=ANY_KEYWORD(optional)

Swagger Docs
To view Swagger docs, run npm start and open .
Running the Project with Docker
Prerequisites Install Docker
Run in Development
docker compose -f docker-compose.yml up --build
Access the app
If the port is changed, please make sure the PORT environment variable and Dockerfile EXPOSE line match accordingly.
Run in Production
docker compose -f docker-compose.prod.yml up --build
Access the app
If the port is changed, please make sure the PORT environment variable and Dockerfile EXPOSE line match accordingly.