{"id":29012323,"url":"https://github.com/futyn-maker/brlc-converter","last_synced_at":"2026-02-02T02:03:57.358Z","repository":{"id":47480246,"uuid":"516156548","full_name":"Futyn-Maker/brlc-converter","owner":"Futyn-Maker","description":"A simple tool to convert ready braille files between different braille encodings","archived":false,"fork":false,"pushed_at":"2026-01-12T19:30:44.000Z","size":779,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-13T00:44:42.914Z","etag":null,"topics":["accessibility","blind","braille","braille-characters","command-line","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Futyn-Maker.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-07-20T22:53:00.000Z","updated_at":"2026-01-12T19:30:49.000Z","dependencies_parsed_at":"2025-06-25T18:15:41.796Z","dependency_job_id":"5943ad9b-9617-4d38-9734-2193ac448637","html_url":"https://github.com/Futyn-Maker/brlc-converter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Futyn-Maker/brlc-converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Futyn-Maker%2Fbrlc-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Futyn-Maker%2Fbrlc-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Futyn-Maker%2Fbrlc-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Futyn-Maker%2Fbrlc-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Futyn-Maker","download_url":"https://codeload.github.com/Futyn-Maker/brlc-converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Futyn-Maker%2Fbrlc-converter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29001524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T01:32:03.847Z","status":"online","status_checked_at":"2026-02-02T02:00:07.448Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","blind","braille","braille-characters","command-line","web"],"created_at":"2025-06-25T18:15:37.223Z","updated_at":"2026-02-02T02:03:57.352Z","avatar_url":"https://github.com/Futyn-Maker.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Braille Encoding Converter\n\nBraille Encoding Converter (brlc-converter) is a simple tool to convert ready braille files between different braille encodings. A braille encoding is a character set used to represent braille patterns in digital form. For historical reasons, different countries, and even different printing houses within the same country, use different character sets when preparing texts for embossing in braille. This is largely due to the equipment used, as well as the peculiarities of a specific alphabet. This tool is designed to solve the problem of incompatibility of Braille encodings when it is necessary to emboss a file prepared for the equipment of one printing house on the equipment of another one, or to read this file using a braille display.\n\n## Supported Braille Encodings\n\nFor now, the following formats are supported:\n\n* [Braille Unicode](https://en.wikipedia.org/wiki/Braille_Patterns) — A universal, language-independent 8-dot encoding. It is recommended to use this format for reading with a screen-reader and a braille display. Unfortunately, few braille embossers support Braille Unicode (if any), so it is difficult to emboss a file containing Braille Unicode.\n* BRF ([Braille ASCII](https://en.wikipedia.org/wiki/Braille_ASCII)) — A widely used 6-dot electronic braille format. Supported by many braille embossers, displays, and notetakers.\n* [Eurobraille](http://www.braille.ch/eb-allg.htm) — An 8-dot encoding widely used in German-speaking countries. Braille transcription software such as [RTFC](https://www.rtfc.eu/) produces braille in this encoding.\n* [NABCC](https://brltty.app/doc/Manual-BRLTTY/English/BRLTTY-14.html) (North American Braille Computer Code) — An 8-dot encoding that is increasingly being used in American BRF files instead of Braille ASCII.\n* Local Russian encodings (developed and used by Russian braille printing houses):\n  * [Logos](https://logosvos.ru) braille encoding — CP866-based 6-dot encoding that is also set up by default as \\\"Russian encoding\\\" in [Index Braille](https://indexbraille.com) embossers.\n  * [\\\"CHTENIE\\\" Publishing House of All-Russia Society of the blind](https://chtenie.spb.ru) braille encoding — A 6-dot encoding.\n  * GOST braille encoding — The 6-dot encoding that was accepted in [GOST R 58511-2019 Braille characters and design of braille publications](https://allgosts.ru/11/180/gost_r_58511-2019).\n\n\u003e **Note on 8-dot Encodings:** 8-dot encodings like Eurobraille and NABCC do not necessarily contain mappings for all 256 possible braille combinations. If a specific 8-dot character from a source file is missing in the target encoding, the converter will attempt to find a mapping for its 6-dot equivalent.\n\n## Usage\n\nYou can use this tool in several ways, from the simple web interface to a command-line tool.\n\n### 1. Using the Web App\n\nThe easiest way to convert your files is with the official web interface:\n\n[https://brlc-converter.app](https://brlc-converter.app)\n\nThe web interface supports both single file and batch folder conversion:\n\n#### Converting a Single File\n\n1.  Select the **Convert File** tab (default).\n2.  Select the **Source Format** of your file.\n3.  Choose the **File to convert** using the file picker.\n4.  Select the desired **Output Format**.\n5.  Click the **Convert** button to process the file and receive a download link.\n\n#### Converting Multiple Files (Batch Mode)\n\n1.  Select the **Convert Folder** tab.\n2.  Select the **Source Format** of all files in the folder.\n3.  Choose the **Folder to convert** using the folder picker.\n4.  Select the desired **Output Format**.\n5.  Click the **Convert** button to process all files and receive a ZIP archive.\n\nThe ZIP file will be named `{folder_name}_{format}.zip` (e.g., `mybooks_unicode.zip`).\n\n\u003e Note: All files in the folder must be in the same braille encoding.\n\nWhen converting from an 8-dot encoding (like Eurobraille or NABCC) to Braille Unicode, a checkbox will appear: **\\\"Force 6-dot output (discard dots 7 and 8)\\\"**. This allows you to replace the 8-dot characters with their 6-dot variants.\n\n\u003e Tip: This feature is also useful if you simply need to convert an 8-dot Braille Unicode file to 6-dot Braille Unicode. To do this, select Braille Unicode as both the input and output format, and check the 6-dot box.\n\nIf you prefer to run the web version offline or host it yourself, you can download the latest `-web.zip` file from the [Releases page](https://github.com/Futyn-Maker/brlc-converter/releases). Unzip the package and open the `index.html` file in your browser to use it locally.\n\n### 2. Using the Windows Executable\n\nFor Windows users who want a graphical interface, you can also download the latest `brlc-converter.exe` from the [Releases page](https://github.com/Futyn-Maker/brlc-converter/releases).\n\nThe executable has two modes:\n\n#### A) Local Web UI\n\nFor a graphical interface, simply **double-click (or press Enter) the `brlc-converter.exe` file**.\n\nThis will start a local web server in the background and automatically open the converter in your default browser.\n\n#### B) Command Line Interface (CLI)\n\nTo use the tool in your terminal or in scripts, run it with the `--input` (or `-i`) flag.\n\n```bash\nbrlc-converter.exe --input mybook.brf --from brf --to unicode\n```\n\nThis will output `mybook.txt` in the same directory.\n\n### 3. Running from Source\n\nDevelopers can run the tool directly from the source code.\n\n1.  Ensure you have **Node.js v21 or newer** installed.\n2.  Clone this repo: `git clone https://github.com/Futyn-Maker/brlc-converter.git`\n3.  Move into the directory: `cd brlc-converter`\n4.  Install dependencies: `npm install`\n\nNow you can run the CLI script:\n\n```bash\nnode src/cli/cli.js -i mybook.brf -f brf -t unicode\n```\n\nTo run the local web server from source (it will run in your current terminal):\n\n```bash\nnpm start\n```\n\n## Command Line Options\n\nRunning the tool with `--help` displays all available commands:\n\n```\nUsage: brlc-converter [options]\n\nConverts braille files between different braille encodings\n\nOptions:\n  -V, --version        output the version number\n  -f, --from \u003cformat\u003e  The braille encoding of the input file (default: \"unicode\")\n  -t, --to \u003cformat\u003e    The braille encoding of the output file (default: \"unicode\")\n  -i, --input \u003cpath\u003e   Path to the file or folder to be converted\n  -o, --output \u003cpath\u003e  Path to the output file or folder\n  --force-6dot         Force 6-dot output (remove dots 7/8) when converting to Unicode\n  -h, --help           display help for command\n```\n\nThe `-i` option accepts both files and folders:\n\n* **Single file:** Converts the file and outputs to the same directory (or to `-o` if specified).\n* **Folder:** Converts all files in the folder. If `-o` is not specified, creates a new folder named `{input_folder}_{format}` (e.g., `mybooks_unicode`). If `-o` is specified, outputs directly to that folder.\n\nThe arguments for `-f` (`--from`) and `-t` (`--to`) are:\n\n* `unicode` (default) — Braille Unicode (8-dot)\n* `brf` — BRF / Braille ASCII (6-dot)\n* `eurobraille` — Eurobraille (8-dot)\n* `nabcc` — North American Braille Computer Code (8-dot)\n* `logos` — Logos braille encoding (6-dot)\n* `chtenie` — \\\"CHTENIE\\\" Publishing House braille encoding (6-dot)\n* `gost` — GOST braille encoding (6-dot)\n\n**Examples:**\n\nConvert a Logos file to Braille Unicode:\n\n```bash\nnode src/cli/cli.js -f logos -t unicode -i mybook.txt -o mybook.txt\n```\n\nConvert a Eurobraille file to 6-dot Braille Unicode, discarding dots 7 and 8:\n\n```bash\nnode src/cli/cli.js -f eurobraille -t unicode --force-6dot -i mybook.brl -o mybook.txt\n```\n\nConvert all files in a folder from BRF to Braille Unicode:\n\n```bash\nnode src/cli/cli.js -f brf -t unicode -i ./my_brf_books\n```\n\nThis creates a folder `my_brf_books_unicode` with the converted files.\n\nConvert a folder to a specific output directory:\n\n```bash\nnode src/cli/cli.js -f brf -t unicode -i ./my_brf_books -o ./converted\n```\n\n## Building from Source\n\nIf you want to build the executable for your platform or the static web package yourself, first follow the \\\"Running from Source\\\" steps (`clone`, `cd`, `npm install`).\n\nYou must have **Node.js v21 or newer** to build the project.\n\n### Building the Static Web Package\n\nThis command bundles all web files (HTML, JS, and data) into the `/dist` folder. This is the folder you would upload to a static web host or run `index.html` locally.\n\n```bash\nnpm run build:web\n```\n\n### Building the Single Executable Application (SEA)\n\nThis command first builds the web package (like above) and then bundles the entire application, including the Node.js runtime, into a single executable file located in the `/bin` folder.\n\n```bash\nnpm run build:sea\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffutyn-maker%2Fbrlc-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffutyn-maker%2Fbrlc-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffutyn-maker%2Fbrlc-converter/lists"}