3D STL Preview — Interactive preview only (drag to rotate, scroll to zoom)
⚠
Brightness:
Normal
Contrast:
Normal
To interact with the 3D preview: Use mouse drag to rotate, mouse wheel to zoom. Touch users: one finger to rotate, pinch to zoom. Keyboard users: the visual preview is supplementary; generated STL files contain the same geometry.
What Does This Program Do?
Generates custom braille embossing plates for cylinders (labels, containers) and flat cards.
View on GitHub
Note: Cylinder shapes are currently available. Flat cards are temporarily disabled.
First Step: Decide What to Include
Braille space is limited. Not everything from print will fit.
Help & Guide
Choosing What to Include
The most important decision: Braille takes far more space than print. You cannot include everything — you must prioritize.
This guidance applies to both cylinders (jars, bottles, containers) and flat cards (business cards). The space constraints and prioritization strategies are the same for both shapes.
The Core Question
"Can someone identify me and contact me with just this information?"
If yes, you have enough. If no, add the minimum needed — nothing more.
Space (BANA, verbatim)
"The typical business card stock used in the United States and Canada can accommodate 4 lines of braille with 13 or 14 cells each, depending on the equipment used to produce the cards. One strategy that can help is to use the fold-over style of business card stock that effectively doubles the writing surface of the card. In any event, there is usually far more print on the card than will fit in braille no matter how it is produced."
What BANA lists as candidate elements
BANA lists nine elements typically found on a print card; expect most to be cut:
name
job title
organization/company
mailing address
phone
fax
cell
e-mail address
website
"There may be other elements as well, but those will almost certainly have to be omitted."
BANA's typical four-line layout
first line: name
second line: organization/company
third line: phone number
fourth line: e-mail address
"The format of these lines should be planned considering the entire card, not just one line at a time."
If the name does not fit (BANA, verbatim)
"In most cases, the person's name is essential. If the name will not fit on a 13- or 14-cell line, one option is to remove the capital indicators. If it still does not fit, remove the middle initial, if there is one. If it still will not fit, use an initial for the person's first name. Another option, if space is available, is to continue the person's name onto a second braille line beginning in cell 1."
If the organization name is too long (BANA, verbatim)
"Some indication of the name of the organization or company is usually desirable on a business card. However, this may be omitted, especially if the e-mail or web address contains the name of the company or organization. Other strategies, such as removing capital indicators, may also be used as needed. In the case of an organization or company name, abbreviating words such as 'lib' for 'library,' 'amer' for 'American,' or 'nat' for 'National' can work well."
BANA names only lib, amer, and nat by example. Use them as a pattern, not an exhaustive list.
BANA's general principles
"Follow The Rules of Unified English Braille."
"Work with a UEB-certified transcriber."
"Have a conversation with the owner of the business card so that they may decide which information is most important to convey."
"When information needs to be pared down to fit within the available space, offer the client suggestions so that they can make an informed decision."
Source: Quoted verbatim from the BANA Business Cards Fact Sheet (approved March 2024). The PDF is the authoritative source.
Cylinder Guide
First: Decide . Cylinder space is limited just like cards.
Cylinders let you create braille labels that wrap around curved surfaces like bottles, jars, and containers.
Key Cylinder Parameters
Parameter
What It Controls
Outer Diameter
The diameter of the object you're labeling (in mm). Measure around the widest part where the label will go.
Cylinder Height
How tall the braille surface will be. This determines how many rows of braille can fit.
Wall Thickness
Thickness of the cylinder wall. Thicker = sturdier but uses more material.
Polygon Cutout
Number of flat sides for the inner shape. Higher numbers = smoother curve but larger file size.
Seam Offset
Rotates where the "seam" (gap) in the cylinder appears. Adjust so the seam doesn't interrupt your text.
Measuring Your Container
Outer diameter: Wrap a string around the container, mark where it meets, then measure the string. Divide by 3.14159 (π) to get diameter.
Height: Measure the flat area where braille will go. Leave margin at top and bottom.
Text Capacity
The number of braille cells that fit depends on your cylinder's circumference:
Standard braille cell width is ~2.5mm
A 75mm diameter cylinder (235mm circumference) fits approximately 13-14 cells per row
Larger diameter = more cells per row
Tips for Best Results
Print orientation: Print cylinders standing upright for best dot quality
Test fit: Print a small section first to verify the diameter matches your container
Seam placement: Rotate the seam to the back or between words
Before you begin: Decide what information to include using the guide. The tool cannot help you if you try to include too much.
Step-by-Step
Enter your text in the "Enter Text for Braille Translation" area. Use only the essential information you've selected.
Set Placement Mode to "Auto Placement" (handles line wrapping automatically).
Preview your translation: Click "Show Expert Mode", then click "Preview Braille Translation". Fix any warnings about length or characters.
Generate the STL: Click "Generate STL" and review the 3D preview.
Download both plates:
Download the embossing plate STL
Switch "Select Plate to Generate" to "Universal Counter Plate"
Download again for the counter plate
Current Availability
Cylinder shapes are available for labeling bottles, jars, and containers.
Flat business cards are temporarily disabled while we improve that feature.
Key Settings
Setting
Recommendation
Placement Mode
Auto Placement (handles wrapping)
Capitalized Letters
Disabled (default) — saves space
Language
English (UEB) uncontracted — clearest for names/contact info
Formatting Your Content
Once you've decided , format it to maximize space efficiency. The rule statements below are quoted verbatim from BANA's March 2024 Fact Sheet.
Phone Numbers (BANA, verbatim)
"If the telephone number has no extension, then it can be brailled as follows: #123.456.7890. Omit extra characters such as parentheses. Convert the hyphens to periods to retain the natural sub-units of the phone number. This will maintain the ease of readability, while eliminating the need to repeat numeric indicators. Do not remove the numeric indicator unless absolutely necessary."
In this app: type 123.456.7890 (no parentheses, periods between groups). The numeric indicator is added by the translator.
E-mail Addresses (BANA, verbatim)
"An e-mail address should be brailled according to The Rules of Unified English Braille. When an e-mail address must be divided over two lines, divide it after punctuation (e.g., the 'at' sign, a period, or a hyphen). An e-mail address may also be divided between syllables, or between alphabetic and numeric sub-units. The least desirable option is to divide an e-mail address between the letters of a syllable. Use the line continuation indicator (dot 5) at the end of the line to show that the e-mail address has been divided. As a last resort, omit the line continuation indicator. Begin the second line of the e-mail address in cell 1."
In this app: Auto Placement applies BANA's punctuation-first division preference where it can. The dot-5 continuation indicator is added by the translator, not typed.
Web Addresses (BANA, verbatim)
"A web address should be brailled according to The Rules of Unified English Braille. When a web address must be divided over two lines, divide it after punctuation (e.g., a colon, a period, or a slash). A web address may also be divided between syllables, or between alphabetic and numeric sub-units. The least desirable option is to divide a web address between the letters of a syllable. Use the line continuation indicator (dot 5) at the end of the line to show that the web address has been divided. As a last resort, omit the line continuation indicator. Begin the second line of the web address in cell 1."
Tip (this app, not BANA): omit https:// or www. if the domain is clear without it.
Capitalization
Each capital letter in braille adds a capitalization indicator (1 extra cell). The Capitalized Letters toggle controls how capitals are handled:
Disabled (default): Text is automatically converted to lowercase before translation. You can type normally — capitals are converted for you.
Enabled: Capital letters are preserved, adding indicator cells to the braille output.
Why disable capitals? Saves approximately 1 braille cell per capital letter. Braille readers understand this is standard practice for space-limited applications like labels and business cards.
Preview translations: Always preview before generating to catch warnings about text length or character issues
Custom cylinder sizes: Adjust diameter and height to match your specific container
Fine-tune spacing: Modify cell and line spacing for non-standard applications
Printer calibration: Adjust dot dimensions if your 3D printer produces dots that are too large or small
Default Values
The default settings follow BANA (Braille Authority of North America) guidelines and work well for most applications. Only modify if you have specific requirements or need to calibrate for your printer.
About these business card examples: BANA's own worked examples are in Grade 2 (contracted) braille and use cell-level strategies that vary case by case. The "what to type" hints below take BANA's content decisions (which fields to omit, how to split a name) and translate them into Grade 1 input for this app, which defaults to uncontracted braille. Read BANA's original Grade 2 examples in the Fact Sheet (PDF) →
Example 1: Organization redundant with e-mail (BANA Example 1)
Print card has: Harry Potter / Hogwarts School / harry@hogwarts.edu
BANA strategy: omit capitals from organization; divide the e-mail address.
BANA Grade 2 braille (verbatim from the Fact Sheet):
⠠⠓⠜⠗⠽⠀⠠⠏⠕⠞⠞⠻
⠓⠕⠛⠺⠜⠞⠎⠀⠎⠡⠕⠕⠇
⠓⠜⠗⠽⠈⠁⠐
⠓⠕⠛⠺⠜⠞⠎⠲⠫⠥
What to type in this app (Grade 1):
harry potter
harry@hogwarts.edu
Result: 2-3 lines. E-mail may wrap after @ with a dot-5 continuation indicator.
Example 2: Long name spans two lines (BANA Example 4)
Print card has: Liesel A. Schimmelfennig / US Army Corps of Engineers / l.schimmelfennig@usace.army / 1-520-670-6277
BANA strategy: continue the name onto a second line in cell 1; omit organization (in e-mail); omit phone; divide the e-mail with the dot-5 continuation indicator omitted as a last resort.
BANA Grade 2 braille (verbatim from the Fact Sheet):
BANA strategy: the client chose the nickname "Fran" rather than removing capitals from "Francine"; convert phone hyphens to periods; tag cell/fax with a single-letter prefix.
BANA Grade 2 braille (verbatim from the Fact Sheet):
Sources: Business card examples take the content decisions from the BANA Business Cards Fact Sheet (approved March 2024) and translate them into Grade 1 input for this app; BANA's published examples are Grade 2 and live in the PDF. Cylinder examples are based on BANA Size and Spacing of Braille Characters.