/* * _____ _ _ ____ ____ ___ ___ * |_ _| |__ ___ / \ / ___| / ___|_ _|_ _| * | | | '_ \ / _ \/ _ \ \___ \| | | | | | * | | | | | | __/ ___ \ ___) | |___ | | | | * |_| |_| |_|\___/_/ \_\____/ \____|___|___| * * W A Y * * A minimal guide to ASCII, plain text, and Markdown. * Everything you see here is just characters on a screen. * No images. No frameworks. Just text. * * theasciiway.com */========================================================================
TABLE OF CONTENTS
========================================================================--- Guide ---01. What is ASCII?02. The History03. The ASCII Table04. ASCII Art05. Markdown & .md Files06. Markdown Syntax Guide07. Designing with Plain Text08. Box Drawing Characters09. The Philosophy10. Resources--- Tools ---11. ASCII Lookup & Search12. ASCII Art Generator13. Unicode Symbols (Copy-Paste)14. Text / Binary / Hex Converter15. Markdown Cheat Sheet16. Fancy Text Generator17. HTML Entities Reference18. Regex Cheat Sheet19. About======================================================================== 01. WHAT IS ASCII?========================================================================
ASCII stands for American Standard Code for Information Interchange.
It is a character encoding standard that assigns a number (0-127)
to every letter, digit, punctuation mark, and control character
used in the English language.
When you type the letter 'A', the computer stores the number 65.
When you type 'a', it stores 97. The space bar? That's 32.
ASCII uses 7 bits, giving us 128 possible characters:
0-31 Control characters (tab, newline, backspace...)
32-47 Punctuation & symbols ! " # $ % & ' ( ) * + , - . /
48-57 Digits 0 1 2 3 4 5 6 7 8 9
58-64 More symbols : ; < = > ? @
65-90 Uppercase letters A B C D E F ... Z
91-96 Brackets & symbols [ \ ] ^ _ `
97-122 Lowercase letters a b c d e f ... z
123-127 Braces & misc { | } ~ DEL
That's it. 128 characters built the digital world.======================================================================== 02. THE HISTORY========================================================================1963 ASCII is first published as ASA X3.4-1963.
Created by a committee of the American Standards
Association (now ANSI). Bob Bemer is often called
"the father of ASCII."
1967 Major revision. The standard we know today is
essentially this version.
1968 President Lyndon B. Johnson mandates ASCII for all
computers purchased by the federal government.
1969 ARPANET (the precursor to the internet) launches.
All communication uses ASCII text.
1971 Ray Tomlinson sends the first email. Pure ASCII.
1980s The IBM PC adopts Extended ASCII (8 bits, 256 chars)
adding box-drawing characters and accented letters.
1991 Unicode 1.0 is published, extending the concept of
character encoding far beyond ASCII's 128 characters.
But ASCII remains the foundation -- the first 128
Unicode characters are identical to ASCII.
Today Every text file, every line of code, every email,
every URL still relies on ASCII at its core.
The standard is over 60 years old and still
fundamental to all computing.
======================================================================== 03. THE ASCII TABLE========================================================================
The printable ASCII characters (32-126):
Dec Hex Char Dec Hex Char Dec Hex Char--- --- ---- --- --- ---- --- --- ----
32 20 (sp) 64 40 @ 96 60 `
33 21 ! 65 41 A 97 61 a
34 22 " 66 42 B 98 62 b
35 23 # 67 43 C 99 63 c
36 24 $ 68 44 D 100 64 d
37 25 % 69 45 E 101 65 e
38 26 & 70 46 F 102 66 f
39 27 ' 71 47 G 103 67 g
40 28 ( 72 48 H 104 68 h
41 29 ) 73 49 I 105 69 i
42 2A * 74 4A J 106 6A j
43 2B + 75 4B K 107 6B k
44 2C , 76 4C L 108 6C l
45 2D - 77 4D M 109 6D m
46 2E . 78 4E N 110 6E n
47 2F / 79 4F O 111 6F o
48 30 0 80 50 P 112 70 p
49 31 1 81 51 Q 113 71 q
50 32 2 82 52 R 114 72 r
51 33 3 83 53 S 115 73 s
52 34 4 84 54 T 116 74 t
53 35 5 85 55 U 117 75 u
54 36 6 86 56 V 118 76 v
55 37 7 87 57 W 119 77 w
56 38 8 88 58 X 120 78 x
57 39 9 89 59 Y 121 79 y
58 3A : 90 5A Z 122 7A z
59 3B ; 91 5B [ 123 7B {
60 3C < 92 5C \ 124 7C |
61 3D = 93 5D ] 125 7D }
62 3E > 94 5E ^ 126 7E ~
63 3F ? 95 5F _======================================================================== 04. ASCII ART========================================================================
Before GIFs and PNGs, people made art with characters.
ASCII art is the practice of creating images using only
the 95 printable ASCII characters.
Simple:¯\_(ツ)_/¯ The classic shrug
<3 A heart (tilt your head)
:) The original emoji (1982)
Figurative: .---.
/ \
\.@-@./
/`\_/`\
// _ \\
| \ )|_
/`\_`> <_/ \
\__/'---'\__/Banners (often generated with tools like figlet): _ _ _ _ __ __ _ _ _
| | | | ___| | | ___ \ \ / /__ _ __| | __| | |
| |_| |/ _ \ | |/ _ \ \ \ /\ / / _ \| '__| |/ _` | |
| _ | __/ | | (_) | \ V V / (_) | | | | (_| |_|
|_| |_|\___|_|_|\___( ) \_/\_/ \___/|_| |_|\__,_(_)
|/Boxes and frames: +-------------------------------+
| |
| Simple box using + - | |
| |
+-------------------------------+ ╔═══════════════════════════════╗
║ ║
║ Unicode box-drawing chars ║
║ ║
╚═══════════════════════════════╝Progress bars: [##########..........] 50%
[################....] 80%
[####################] 100% Done!Diagrams: Client Server Database
| | |
|-- request --> | |
| |-- query ----> |
| |<-- result --- |
|<-- response --| |
| | |======================================================================== 05. MARKDOWN & .md FILES========================================================================Markdown is a lightweight markup language created by
John Gruber and Aaron Swartz in 2004.
The idea is simple: write plain text that is readable as-is
but can also be converted to HTML.
A .md file is just a plain text file with the .md extension,
indicating it contains Markdown-formatted text.
Why Markdown matters:
- It's plain text. It will never become obsolete.
- It's readable without any rendering.
- It's used everywhere: GitHub, Reddit, Discord,
Notion, Obsidian, documentation, blogs...
- It keeps your content separate from presentation.
- You can version-control it with Git.
Common .md files you'll see in projects:README.md Project description & setup instructions
CHANGELOG.md Version history and changes
CONTRIBUTING.md How to contribute to a project
LICENSE.md Legal terms for using the code
TODO.md Task list for the project
======================================================================== 06. MARKDOWN SYNTAX GUIDE========================================================================--- Headings ---# Heading 1 The biggest heading
## Heading 2 Second level
### Heading 3 Third level
#### Heading 4 Fourth level
--- Text Formatting ---**bold text**bold text*italic text* italic text
~~strikethrough~~ strikethrough
`inline code` inline code
> blockquote indented quote
--- Lists ---- item one Unordered list
- item two - nested item Indent with 2 spaces
1. first Ordered list
2. second3. third- [x] done task Task list (checkbox)
- [ ] pending task--- Links & Images ---[text](url) Hyperlink
 Image
--- Code Blocks ---```python Fenced code block
def hello(): with syntax highlighting
print("hi")```--- Tables ---| Name | Role ||-------|------------|| Alice | Developer || Bob | Designer |--- Horizontal Rule ------ Three dashes, asterisks,
*** or underscores
___======================================================================== 07. DESIGNING WITH PLAIN TEXT========================================================================
You don't need a design tool to create beautiful documents.
Here are patterns that have been used for decades:
--- Section Headers --- ==========================
SECTION TITLE
========================== --- Section Title --- // Section Title // [ Section Title ]--- Emphasis --- UPPERCASE FOR EMPHASIS *asterisks for highlights* _underscores for stress_ >> arrows for callouts <<--- Lists and Bullets --- - dash style * star style + plus style o circle style > arrow style--- Alignment ---
Keep lines under 72-80 characters wide.
This is the traditional standard for readability.
It dates back to punch cards (80 columns) and
terminal screens.
--- Whitespace ---
Use blank lines generously. They are free.
They make text breathe.
Indent with 2 or 4 spaces for hierarchy.
Be consistent. Pick one and stick with it.
--- A well-formatted plain text document: --- ============================================
PROJECT: My Cool Thing
Author: Your Name
Date: 2025-01-15
Version: 1.0.0
============================================
OVERVIEW
--------
A brief description of what this project
does and why it exists.
INSTALLATION
------------
1. Clone the repository
2. Run `make install`
3. Configure settings in config.txt
USAGE
-----
$ mycoolapp --input file.txt
$ mycoolapp --help
NOTES
-----
- Requires Python 3.8+
- See LICENSE for terms
============================================
EOF======================================================================== 08. BOX DRAWING CHARACTERS========================================================================
Beyond basic ASCII, Unicode provides box-drawing
characters that create clean borders and diagrams.
--- Pure ASCII boxes (works everywhere) --- +--------+--------+--------+
| Cell 1 | Cell 2 | Cell 3 |
+--------+--------+--------+
| Data | Data | Data |
+--------+--------+--------+--- Unicode single-line --- ┌────────┬────────┬────────┐
│ Cell 1 │ Cell 2 │ Cell 3 │
├────────┼────────┼────────┤
│ Data │ Data │ Data │
└────────┴────────┴────────┘--- Unicode double-line --- ╔════════╦════════╦════════╗
║ Cell 1 ║ Cell 2 ║ Cell 3 ║
╠════════╬════════╬════════╣
║ Data ║ Data ║ Data ║
╚════════╩════════╩════════╝--- Unicode rounded --- ╭────────────────────────╮
│ Rounded corners look │
│ softer and modern. │
╰────────────────────────╯--- Tree structures --- project/
├── src/
│ ├── main.py
│ ├── utils.py
│ └── config.py
├── tests/
│ └── test_main.py
├── README.md
└── setup.py--- Flow diagrams --- ┌─────────┐ ┌─────────┐ ┌─────────┐
│ Input │────>│ Process │────>│ Output │
└─────────┘ └─────────┘ └─────────┘
│
v
┌─────────┐
│ Store │
└─────────┘======================================================================== 09. THE PHILOSOPHY======================================================================== "The best format is the one that will still work
in 50 years."
Plain text is the most durable digital format
in existence. Consider:
> A Word document from 1995 may not open today.
> A plain text file from 1970 opens perfectly.
> A website from 2005 is likely broken.
> An email from 1985 is still readable.
ASCII and plain text represent a philosophy:
Simplicity over complexity.Portability over features.Longevity over trends.Content over decoration.
Every tool can read plain text. Every language
can process it. Every system can store it.
It compresses well. It diffs well. It greps well.
It travels well across networks.
When you write in plain text, you are writing
for the future.
======================================================================== 10. RESOURCES========================================================================--- Learn More ---ASCII on WikipediaThe ASCII Table (asciitable.com)Markdown by John GruberCommonMark SpecGitHub Flavored Markdown--- Tools ---TAAG - ASCII Art GeneratorASCIIFlow - Draw DiagramsMonodraw (macOS)Markdown Guide======================================================================== --- TOOLS ---========================================================================
The tools below are interactive. Type, click, copy.
Everything runs in your browser. No data leaves your machine.
======================================================================== 11. ASCII LOOKUP & SEARCH========================================================================
Type a character, code, or keyword to search:
Dec Hex Oct Bin Char HTML Description
--- --- --- -------- ---- ---------- -----------Click any row to copy the character.======================================================================== 12. ASCII ART GENERATOR========================================================================
Type text to generate an ASCII banner:
======================================================================== 14. TEXT / BINARY / HEX CONVERTER========================================================================
Type text or paste a code to convert:
Mode:Binary:Hex:Decimal:Octal:======================================================================== 15. MARKDOWN CHEAT SHEET (EXTENDED)========================================================================A comprehensive reference. Click any example to copy.--- Basic Syntax ---Headings# H1 Largest heading
## H2 Second level
### H3 Third level
#### H4##### H5###### H6 Smaller headings
Emphasis**bold** or __bold__bold*italic* or _italic_ italic
***bold italic***bold italic~~strikethrough~~ strikethrough
Links & Images[link text](https://url.com) Hyperlink
[text](url "tooltip") With tooltip
 Image
<https://auto.link.com> Auto-link
Code`inline code` Inline
```js Fenced block
console.log("hi"); with language
``` indented code 4-space indent
Blockquotes> quote Single level
> > nested Nested quote
Lists- item / * item / + item Unordered
1. first Ordered
- nested Indent 3 spaces
- [x] done / - [ ] todo Task list
Horizontal Rules--- or *** or ___ Three or more
--- Extended Syntax (GitHub Flavored) ---Tables| Left | Center | Right |
|:------|:------:|------:|
| data | data | data |FootnotesText with a footnote[^1]
[^1]: Footnote content.Definition ListsTerm
: Definition hereCollapsed Sections<details>
<summary>Click to expand</summary>
Hidden content here.
</details>Emoji (GitHub):rocket::tada::warning::memo:Alerts (GitHub)> [!NOTE]
> Useful information.> [!WARNING]
> Critical content.======================================================================== 16. FANCY TEXT GENERATOR========================================================================
Type text to see it in Unicode font styles:
Click any style to copy it.Type something above to see results...======================================================================== 17. HTML ENTITIES REFERENCE========================================================================
Char Entity Code Description
---- -------------- --------- -----------Click any row to copy the entity.======================================================================== 18. REGEX CHEAT SHEET========================================================================
Result:--- Character Classes ---. Any character except newline
\d Digit [0-9]
\D Not a digit
\w Word char [a-zA-Z0-9_]
\W Not a word char
\s Whitespace [ \t\n\r\f]
\S Not whitespace
[abc] Any of a, b, or c
[^abc] Not a, b, or c
[a-z] Range a to z
--- Quantifiers ---* 0 or more
+ 1 or more
? 0 or 1 (optional)
{3} Exactly 3
{3,} 3 or more
{3,5} Between 3 and 5
*? Lazy (minimal match)
--- Anchors ---^ Start of string/line
$ End of string/line
\b Word boundary
\B Not a word boundary
--- Groups & Lookaround ---(abc) Capturing group
(?:abc) Non-capturing group
(?=abc) Positive lookahead
(?!abc) Negative lookahead
(?<=abc) Positive lookbehind
(?<!abc) Negative lookbehind
\1 Back-reference to group 1
--- Flags ---g Global (all matches)
i Case-insensitive
m Multiline (^ $ per line)
s Dotall (. matches \n)
u Unicode support
--- Common Patterns ---^\S+@\S+\.\S+$ Email (simple)
^https?://\S+$ URL
^\d{4}-\d{2}-\d{2}$ Date YYYY-MM-DD
^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ Hex color
^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$ IPv4 address
^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$ Strong password
======================================================================== 19. ABOUT======================================================================== +-----------------------------------------------+
| |
| Created by Shahar Ami Kedmi |
| |
| Full-stack developer and creator, |
| building tools that embrace simplicity. |
| |
| I believe the best software is the kind |
| you barely notice -- it just works. |
| This site is a love letter to plain text, |
| the format that outlasts everything. |
| |
| github.com/Shahar |
| |
+-----------------------------------------------+========================================================================
theasciiway.com
Made with nothing but plain text.
Just characters and some HTML/CSS.
________________________________________________________
"Everything should be made as simple as possible,
but not simpler."
======================================================================== EOF