M4przybysz/halfbold-converter

HalfBold Converter converts plain text, HTML, amd/or Markdown into a partially bolded version, making text faster to read. It can run fully locally, no server is needed. Built with HTML, JS, and CSS.

JavaScript

2

77 commits

updated Oct 3, 2026

See the code

See what people are saying

README

HalfBold Converter

HalfBold Converter is a small and simple text converter inspired by Bionic Reading. It allows you to turn plain text, HTML code or Markdown-formatted text into their partially bolded versions, making the text faster to read by adding fixation points your eyes can lock onto to every word.

HalfBold Converter is not limited to plain text, and can also convert HTML code and Markdown-formatted text. It also provides customization to the conversion process, including adjustable bolding percentage of each word and color for marking text that's bold in the HTML/Markdown input.

Check it out on GitHub Pages: m4przybysz.github.io/halfbold-converter/

For examples of text to convert, and before/after HTML conversion check the examples folder.

The converter can run fully locally, no server is needed. Built with HTML, JS, and CSS. Licensed under MIT License.

Features

  • Convert plain text, HTML, or Markdown into a half-bolded format.
  • Adjustable bolding percentage (5-75%).
  • Adjustable minimum number of characters to bold (1+).
  • Bolding of punctuation and special characters that can be turned on/off.
  • Marks already bolded text in HTML with custom color.
  • Big page mode for more comfortable reading of converted plain text.
  • Extensive settings options for big page mode, including: 12 fonts, fully customizable text and page background color, adjustable text size and page width.

Planned features

  • Polish translation (tłumaczenie na język polski).
  • Customization of punctuation and special characters sets.
  • Customization of the set of HTML tags that are skipped during conversion.

How to use

This tool can:

  • turn plain text into ready-to-read partially bolded version
  • add partial bolding to text in HTML code by adding <b> tags to words

To turn your text/HTML into half-bolded format follow these steps:

  1. Write/paste text, HTML code, or Markdown-formatted text into the Input text area.
  2. Choose input type: Plain text, HTML, or Markdown.
  3. Set the bolding percentage (5-75%) - how much of each word should be bolded.
  4. Set the minimum number of characters to bold in each word (1 or more).
  5. If you're converting plain text or HTML, check/uncheck bolding of punctuation and special characters.
  6. If you're converting HTML or Markdown, choose the marking color for text that's already bold.
  7. Click the Convert button.
  8. Plain text gets converted to a ready-to-read half-bolded version. In the case of HTML and Markdown, the eligible text is partially bolded with <b> tags and text that was bold before conversion gets colored to the chosen marking color.

NOTE (HTML): If you're converting HTML, text outside of body, text inside these tags: [h[1-6], script, style, code, pre, textarea, noscript, svg, canvas, select, math, datalist, template, iframe, object, audio, video, progress, meter, map, blockquote], and HTML entities won't be converted by design. If there are no body tags (<body> and </body>), the entire code gets treated as if it was inside the HTML body.

NOTE (Markdown): If you're converting markdown, HTML entities, text inside the HTML tags from the list above, and formatted into: [headers, horizontal lines, blockquotes, tables, footnotes, code, links, images] won't be converted by design. Additionaly bolding punctuation and special characters is turned off for Markdown, because of the problems caused by Markdown's ambiguity.

Local setup

Files required to make the converter work:

  • index.html
  • converter.js
  • style.css

(all 3 files are inside ./docs folder)

To run the tool you need to put the files listed above in one directory and open index.html in a browser that supports modern HTML5, JavaScript and CSS.

Contributing

For detailed contribution guidelines see CONTRIBUTING.md file.

Issues and feedback

To report an issue and/or give feedback see Issues page on GitHub. To check out used issue templates files see ISSUE_TEMPLATE folder.

Currently templates support submitting:

  • bug reports
  • feature request
  • documentation additions/updates
  • general feedback and inquiries
adhd
bionic-reading
bold
code-conversion
code-converter
converter
css
customization
easy-reading
fast-reading
html
html-converter
html-css-javascript
javascript
local
markdown
markdown-converter
reading
text-conversion
text-converter

M4przybysz/halfbold-converter

HalfBold Converter converts plain text, HTML, amd/or Markdown into a partially bolded version, making text faster to read. It can run fully locally, no server is needed. Built with HTML, JS, and CSS.

JavaScript

2

77 commits

updated Oct 3, 2026

See the code

See what people are saying

README

HalfBold Converter

HalfBold Converter is a small and simple text converter inspired by Bionic Reading. It allows you to turn plain text, HTML code or Markdown-formatted text into their partially bolded versions, making the text faster to read by adding fixation points your eyes can lock onto to every word.

HalfBold Converter is not limited to plain text, and can also convert HTML code and Markdown-formatted text. It also provides customization to the conversion process, including adjustable bolding percentage of each word and color for marking text that's bold in the HTML/Markdown input.

Check it out on GitHub Pages: m4przybysz.github.io/halfbold-converter/

For examples of text to convert, and before/after HTML conversion check the examples folder.

The converter can run fully locally, no server is needed. Built with HTML, JS, and CSS. Licensed under MIT License.

Features

  • Convert plain text, HTML, or Markdown into a half-bolded format.
  • Adjustable bolding percentage (5-75%).
  • Adjustable minimum number of characters to bold (1+).
  • Bolding of punctuation and special characters that can be turned on/off.
  • Marks already bolded text in HTML with custom color.
  • Big page mode for more comfortable reading of converted plain text.
  • Extensive settings options for big page mode, including: 12 fonts, fully customizable text and page background color, adjustable text size and page width.

Planned features

  • Polish translation (tłumaczenie na język polski).
  • Customization of punctuation and special characters sets.
  • Customization of the set of HTML tags that are skipped during conversion.

How to use

This tool can:

  • turn plain text into ready-to-read partially bolded version
  • add partial bolding to text in HTML code by adding <b> tags to words

To turn your text/HTML into half-bolded format follow these steps:

  1. Write/paste text, HTML code, or Markdown-formatted text into the Input text area.
  2. Choose input type: Plain text, HTML, or Markdown.
  3. Set the bolding percentage (5-75%) - how much of each word should be bolded.
  4. Set the minimum number of characters to bold in each word (1 or more).
  5. If you're converting plain text or HTML, check/uncheck bolding of punctuation and special characters.
  6. If you're converting HTML or Markdown, choose the marking color for text that's already bold.
  7. Click the Convert button.
  8. Plain text gets converted to a ready-to-read half-bolded version. In the case of HTML and Markdown, the eligible text is partially bolded with <b> tags and text that was bold before conversion gets colored to the chosen marking color.

NOTE (HTML): If you're converting HTML, text outside of body, text inside these tags: [h[1-6], script, style, code, pre, textarea, noscript, svg, canvas, select, math, datalist, template, iframe, object, audio, video, progress, meter, map, blockquote], and HTML entities won't be converted by design. If there are no body tags (<body> and </body>), the entire code gets treated as if it was inside the HTML body.

NOTE (Markdown): If you're converting markdown, HTML entities, text inside the HTML tags from the list above, and formatted into: [headers, horizontal lines, blockquotes, tables, footnotes, code, links, images] won't be converted by design. Additionaly bolding punctuation and special characters is turned off for Markdown, because of the problems caused by Markdown's ambiguity.

Local setup

Files required to make the converter work:

  • index.html
  • converter.js
  • style.css

(all 3 files are inside ./docs folder)

To run the tool you need to put the files listed above in one directory and open index.html in a browser that supports modern HTML5, JavaScript and CSS.

Contributing

For detailed contribution guidelines see CONTRIBUTING.md file.

Issues and feedback

To report an issue and/or give feedback see Issues page on GitHub. To check out used issue templates files see ISSUE_TEMPLATE folder.

Currently templates support submitting:

  • bug reports
  • feature request
  • documentation additions/updates
  • general feedback and inquiries
adhd
bionic-reading
bold
code-conversion
code-converter
converter
css
customization
easy-reading
fast-reading
html
html-converter
html-css-javascript
javascript
local
markdown
markdown-converter
reading
text-conversion
text-converter

Languages

JavaScript

62.2%

HTML

28.1%

CSS

9.6%