> Content index: https://devbio.me/blogs/llms.txt
> Canonical page: https://devbio.me/blogs/github-bio-character-limit

---
title: GitHub Bio Character Limit: 160 Chars, Explained
description: GitHub caps your profile bio at 160 characters. Here's what counts as a character, why emoji cost more than one, and how to fit a real bio inside the limit.
keywords: github bio character limit, github profile bio character limit, github profile bio, github bio, github profile readme
published: 2026-08-26
updated: 2026-08-26
url: https://devbio.me/blogs/github-bio-character-limit
word_count: 2474
---

# GitHub Bio Character Limit: 160 and What Fits

> GitHub caps your profile bio at 160 characters. Here's what counts as a character, why emoji cost more than one, and how to fit a real bio inside the limit.

Canonical: https://devbio.me/blogs/github-bio-character-limit
Published: 2026-08-26

## Related Pages

- [GitHub Profile README: What to Include in 2026 (and When It's Not Enough)](https://devbio.me/blogs/github-profile-readme-guide)
- [GitHub Tech Stack Badges: The Complete Developer Guide for 2026](https://devbio.me/blogs/github-tech-stack-badges)
- [Markdown Color Text: Why It Fails and What Works](https://devbio.me/blogs/markdown-color-text)
- [Words to Avoid in Resume and Developer Bio Copy](https://devbio.me/blogs/developer-bio-sounds-like-ai)
- [How to Write a Developer Bio (With 2026 Examples)](https://devbio.me/blogs/developer-bio-components)
- [Developer Portfolio vs Personal Site vs Link in Bio: What Actually Works in 2026](https://devbio.me/blogs/developer-portfolio-vs-personal-site)

You type one more clause into your GitHub bio and the field just… stops accepting letters. No error, no warning — the cursor sits there while the rest of your sentence goes nowhere. You've hit a ceiling GitHub never announced on screen.

**The GitHub bio character limit is 160 characters.** That's the hard cap on the GitHub profile bio — the short description under your avatar. It's plain text only, so Markdown doesn't render there, though @mentions do turn into real links. Your GitHub profile README is a separate field with no comparable limit.

![closeup photo of cutout decors](https://images.unsplash.com/photo-1461958508236-9a742665a0d5?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w4OTM1MDJ8MHwxfHNlYXJjaHwyfHxjb3VudGluZyUyMGxldHRlcnMlMjB0eXBvZ3JhcGh5JTIwY2xvc2UlMjB1cHxlbnwwfDB8fHwxNzg3NzA2MzI4fDA&ixlib=rb-4.1.0&q=80&w=1080)

*Photo by [Raphael Schaller](https://unsplash.com/@raphaelphotoch?utm_source=quillly&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=quillly&utm_medium=referral)*

That single number causes more confusion than it should. Searches for the GitHub profile bio character limit usually end in a forum thread rather than a straight answer — partly because 160 characters isn't 160 *keystrokes* once emoji get involved, and partly because half the advice online is really about the GitHub profile README, a completely different field with completely different rules.

## Where the 160-Character Limit Comes From

This isn't a community guess. GitHub's own documentation states the GitHub bio character limit plainly: "The bio field is limited to 160 characters." It's enforced in the browser at **Settings → Public profile → Bio**, which is why the input simply stops accepting text at 160 instead of showing you a validation error.

You'll find that wording in [GitHub's guide to personalizing your profile](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile), under the section on adding a bio. The field is a hard `maxlength` attribute, not a soft warning — and that has three consequences worth knowing.

A few things follow from that:

- **Pasting gets silently truncated.** Paste 200 characters in and you keep the first 160. The tail disappears without a prompt, so always re-read the field after pasting.

- **Line breaks count.** You can press Enter inside the bio, and each newline consumes a character from your 160.

- **The limit is on the bio only.** Your name, company, location, and website are separate fields with their own ceilings.

Getting this wrong is the single most common reason a bio reads like it was cut off mid-thought — because it was.

## What Actually Counts as a "Character"

Here's the part that trips up people who write bios full of emoji: a character isn't the same thing as a symbol you can see.

Most emoji are built from more than one Unicode code point. The "man technologist" emoji, 👨‍💻, looks like one glyph. Underneath, it's a man emoji, an invisible joiner, and a laptop emoji — three code points glued together. A flag like 🇯🇵 is two. A plain 🚀 is one.

We measured each of these directly in Python 3 rather than trusting an online character counter, and the spread is wider than most people expect: that single 👨‍💻 reports **3 code points, 5 UTF-16 units, and 11 UTF-8 bytes**, against 1/1/1 for the letter `a`.

![Table showing how many code points, UTF-16 units and bytes common emoji cost compared to a plain letter](https://quillly.com/serve/v1/019e3623-8b91-738d-ae30-42d5bcd996a0/images/8bda47776d38cf67c19aede21cbef62ba242373d.webp)

GitHub documents the number 160 but doesn't publish which unit it counts — code points, UTF-16 units, or full grapheme clusters. So don't budget to the last character on faith. The practical rule: **type your bio, then look at how much room is left before you add emoji**, and treat every composite emoji as worth several plain letters.

If you want the underlying spec, the Unicode Consortium defines how glyphs get assembled in [UTS #51 on emoji](https://unicode.org/reports/tr51/) and how they group into single visible units in [UAX #29 on text segmentation](https://unicode.org/reports/tr29/). The short version for bio-writing: skinned, gendered, and flag emoji are the expensive ones. A plain symbol like 🚀 is cheap.

[Build a profile page where your bio isn't rationed by the character](https://devbio.me){cta=signup} — then keep the GitHub bio as the pointer.

## Your Bio Is Not Your Profile README

This is where most "GitHub bio" advice goes wrong. The two fields live in different places and behave nothing alike.

Your **bio** is the 160-character line under your avatar, set in account settings. Your **profile README** is a `README.md` file in a repository named after your username — GitHub renders it as a panel on your profile. Per [GitHub's docs on profile READMEs](https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-profile), you can "format text and include emoji, images, and GIFs in your profile README by using GitHub Flavored Markdown." GitHub publishes no character limit for it.

![Comparison cards contrasting the GitHub bio field with the GitHub profile README](https://quillly.com/serve/v1/019e3623-8b91-738d-ae30-42d5bcd996a0/images/64a747faa66a24330cd1cd5c52f26ea860b43e5c.webp)

The practical split: the bio is what people see *everywhere* — hover cards, search results, org member lists, issue threads. The README is what they see only when they visit your profile page directly. So the bio carries your one-line identity, and the README carries the evidence.

If you're building the README side out, our [guide to what belongs in a profile README](https://devbio.me/blogs/github-profile-readme-guide) covers the structure, and [GitHub tech stack badges](https://devbio.me/blogs/github-tech-stack-badges) covers the badge rows people add underneath.

One more thing worth knowing: since the bio is plain text, formatting tricks don't survive there. Asterisks stay asterisks. That's the same wall you hit trying to [add colored text in Markdown](https://devbio.me/blogs/markdown-color-text) — the renderer has to support it, and for the bio field there is no renderer at all.

## Every Profile Field Has Its Own Ceiling

The bio's 160 is the famous one, but it isn't the only limit you'll meet. And once you compare it against a purpose-built profile page, the gap is stark.

![Bar chart comparing character limits across GitHub's bio field and DevBio profile fields](https://quillly.com/serve/v1/019e3623-8b91-738d-ae30-42d5bcd996a0/images/622a546c0ff997748e26c9c87a70264a064950bb.webp)

Those DevBio numbers come straight from the field schemas that validate the data: the tagline is capped at 140, a work-experience bullet at 240, a project description at 600, and the long-form About body at 2,000 characters with `**bold**`, `*italic*`, and `[links](https://example.com)` all rendering properly.

The point isn't that bigger is better — a 2,000-character wall of text is worse than a sharp 160. The point is that **the 160 exists to keep a hover card tidy, not because your story fits in 160 characters.** Once you know which field is doing which job, you stop fighting the limit.

## Six Ways to Get Under 160 Without Sounding Like a Robot

Most over-long bios are over-long for the same handful of reasons. Here's what actually cuts:

1. **Delete "I am a."** Start with the noun. "I am a senior backend engineer" → "Senior backend engineer." Saves 8 characters and reads sharper.

2. **Parenthesise your stack.** "where I mostly work with Go and Postgres" → "(Go, Postgres)." Saves over 25 characters.

3. **Cut the enthusiasm adjectives.** "passionate about," "always eager to learn," "love building cool things" — these say nothing and cost 20–40 characters each. Our piece on [words to avoid in developer bio copy](https://devbio.me/blogs/developer-bio-sounds-like-ai) has the full list.

4. **Use `/` instead of "and."** "React and Node.js" → "React/Node." Three characters back, every time.

5. **Move history to the README.** Past roles, education, and project lists don't belong in a hover card.

6. **Let the @mention do the work.** "previously at Stripe" → "Ex-@stripe" — shorter *and* it renders as a live link.

![Before and after examples showing two GitHub bios compressed under the 160 character limit](https://quillly.com/serve/v1/019e3623-8b91-738d-ae30-42d5bcd996a0/images/40904702b8a0201b9ef77d801a14a45919f504a5.webp)

Notice that both rewrites land well under 160. That's deliberate. Hitting exactly 160 is not a goal — a bio that says one concrete thing in 95 characters beats one that pads to the ceiling. For a longer walkthrough of what belongs in the sentence, see [how to write a developer bio](https://devbio.me/blogs/developer-bio-components).

## Where Your Bio Gets Cut Off Long Before 160

Even a legal 160-character bio can display truncated, because the *field* limit and the *display* width are different constraints. Hover cards, the profile sidebar, user search, and organization member lists all clip long bios with an ellipsis well before character 160.

None of those surfaces gives you the full 160 characters of horizontal room — the sidebar is a narrow column on desktop and narrower on mobile, and a hover card in an issue thread is narrower still. So **front-load the bio**: put your role and current focus in the first 60–70 characters, and treat everything after that as a bonus some viewers will never read. If the only distinguishing thing about you sits at character 140, most people will never see it.

## When 160 Characters Genuinely Isn't Enough

Sometimes the right answer isn't a shorter sentence — it's a different field. If your content needs images, badges, or headings, it belongs in your GitHub profile README. If it needs to travel off GitHub entirely, it belongs on a page with its own link. The bio then stops being a summary and becomes the pointer.

![Decision flowchart for choosing between the GitHub bio, profile README, and a dedicated profile page](https://quillly.com/serve/v1/019e3623-8b91-738d-ae30-42d5bcd996a0/images/64807e42d1c6e4a4e832422b596853ce725f58a3.webp)

The honest limitation of both GitHub fields is that they only work *on GitHub*. When you put a link in a job application, a conference bio, or a client email, a profile README doesn't travel — it's a panel inside a much bigger site, wrapped in navigation that's about GitHub, not about you.

That's the gap a dedicated profile page fills. On DevBio you get a page at `devbio.me/yourname` where the tagline runs to 140 characters, the About body to 2,000 with real Markdown, and each role gets 240 characters per bullet — plus live components that pull your actual GitHub activity in rather than describing it. Your 160-character bio then does the job it's good at: a sharp line that ends in the link.

If you're weighing that against other formats, [developer portfolio vs personal site vs link in bio](https://devbio.me/blogs/developer-portfolio-vs-personal-site) breaks down which one earns its keep.

> **Give your bio more than 160 characters**
> Claim devbio.me/yourname and get a profile page with a 2,000-character About section, live GitHub components, and one link that works everywhere — free to start.
> → [Claim your handle](https://devbio.me)

## Frequently Asked Questions

### What is the GitHub bio character limit?

GitHub caps the profile bio at 160 characters. The limit is stated in GitHub's own documentation and enforced directly in the input at Settings → Public profile, so the field stops accepting text at 160 rather than showing a validation error.

### Does the GitHub bio support Markdown?

No. The bio is plain text — bold, italics, links, and headings won't render there. The one exception is @mentions, which GitHub turns into live links to that user or organization. If you need formatting, use your profile README instead.

### Do emoji count as one character in a GitHub bio?

Not reliably. Many emoji are built from several Unicode code points — 👨‍💻 is three, and a flag like 🇯🇵 is two. GitHub doesn't publish which unit it counts toward the 160, so leave headroom rather than budgeting to the last character.

### Is there a character limit on the GitHub profile README?

GitHub publishes no character limit for the profile README. It's a normal `README.md` in a repository named after your username, and it renders full GitHub Flavored Markdown including images, badges, and tables — which is why long-form content belongs there, not in the bio.

### Why does my GitHub bio look cut off even though it's under 160 characters?

Because display width and field length are different limits. Hover cards, the profile sidebar, and search results all clip long bios with an ellipsis well before 160 characters. Front-load your role and current focus into the first 60–70 characters.

### Can I add line breaks to my GitHub bio?

Yes — you can press Enter inside the bio field. Each line break consumes one of your 160 characters, and narrow surfaces like hover cards may collapse or clip the extra lines, so use them sparingly.

## Key Takeaways

The GitHub bio character limit is a real, documented, hard cap — and it's a smaller number than it looks once emoji enter the picture. Treat the bio as a headline, not a summary: one concrete sentence about what you do now, front-loaded, ending in a link that carries the rest.

- **160 characters, enforced in the input.** Pasting longer text silently truncates it.

- **Plain text only.** Markdown won't render; @mentions will.

- **Emoji cost more than one.** A 👨‍💻 is 3 code points — leave headroom.

- **The README is a different field.** No published limit, full Markdown, but only visible on your profile page.

- **Front-load the first 60–70 characters.** Narrow surfaces clip the rest.

Everything that doesn't fit isn't lost. It belongs in your [profile README](https://devbio.me/blogs/github-profile-readme-guide), or on a page built to hold it. [Start your DevBio page free](https://devbio.me){cta=signup} and stop editing sentences down to fit someone else's input field.
