Meta tags:
description= Every Markdown syntax element explained on one page: headings, bold, italic, lists, code blocks, links, images, escaping and inline HTML, with examples.;
Headings (most frequently used words):
the, and, lists, markdown, syntax, inline, bold, italic, nested, code, links, best, practices, guide, how, line, strikethrough, blockquotes, ordered, unordered, task, fenced, blocks, highlighting, images, characters, with, backslash, html, escape, common, mistakes, heading, blockquote, reference, to, complete, actually, works, headings, paragraphs, breaks, emphasis, horizontal, rules, escaping, hatch, frequently, asked, questions, related, answers, keep, learning, six, levels, alternate, setext, starting, new, paragraph, forcing, break, trailing, spaces, vs, br, tag, together, basic, other, elements, inside, language, tags, four, space, indent, alternative, adding, title, style, autolinks, footnotes, image, why, alt, text, matters, linked, controlling, size, which, can, be, escaped, when, reach, for, write, it, safely, what, renderers, strip, cheat, sheet, github, flavored, tables, tools, learn, platforms, company,
Text of the page (most frequently used words):
the (323), and (163), #markdown (136), that (60), for (58), you (55), line (53), one (47), html (42), with (42), text (41), syntax (38), code (36), #heading (33), every (31), are (30), lists (29), not (29), paragraph (26), inside (26), editor (25), what (22), spaces (22), list (22), two (21), blank (21), guide (20), into (20), which (20), level (20), all (19), bold (19), github (19), most (19), italic (18), page (17), block (17), our (17), reference (16), them (16), images (15), links (15), how (15), keep (15), link (15), image (15), marker (15), headings (14), tables (14), break (14), this (14), inline (14), blocks (13), table (13), use (13), file (13), can (13), backslash (13), works (13), renderers (13), lines (13), document (13), item (13), tag (13), each (13), brackets (13), indent (12), four (12), when (12), tags (12), out (12), quote (12), same (11), fence (11), such (11), style (11), three (11), renderer (11), instead (11), nested (11), first (11), will (11), blockquotes (10), escape (10), write (10), has (10), then (10), characters (10), before (10), than (10), end (10), they (10), space (10), renders (10), start (10), platforms (9), preview (9), above (9), put (9), asterisks (9), nothing (9), render (9), some (9), gfm (9), once (9), screen (9), still (9), rule (9), url (9), wrap (9), footnotes (8), paste (8), common (8), task (8), strikethrough (8), element (8), alt (8), paths (8), type (8), language (8), your (8), title (8), like (8), never (8), plain (8), those (8), but (8), where (8), through (8), output (8), section (8), emphasis (8), after (8), best (8), parsers (8), way (8), open (8), more (8), live (7), highlighting (7), case (7), does (7), turns (7), blockquote (7), fenced (7), leave (7), there (7), own (7), why (7), mistakes (7), source (7), ordered (7), rules (7), gives (7), second (7), docs (7), mdeditor (6), reddit (6), flavored (6), sheet (6), learn (6), generator (6), make (6), nesting (6), without (6), usually (6), because (6), front (6), matter (6), convention (6), read (6), whole (6), down (6), character (6), rather (6), backticks (6), strip (6), want (6), new (6), note (6), any (6), from (6), also (6), between (6), need (6), covers (6), escaping (6), markers (6), readers (6), levels (6), practices (6), form (6), literal (6), horizontal (6), only (6), unordered (6), six (6), discord (5), cheat (5), plus (5), autolinks (5), anchors (5), itself (5), actually (5), treat (5), publish (5), python (5), real (5), close (5), below (5), site (5), other (5), watch (5), details (5), hyphens (5), everywhere (5), check (5), gitlab (5), here (5), work (5), number (5), name (5), goes (5), https (5), long (5), its (5), tip (5), paragraphs (5), breaks (5), marks (5), faq (4), obsidian (4), viewer (4), free (4), adds (4), while (4), depth (4), relative (4), around (4), look (4), cannot (4), raw (4), static (4), even (4), ones (4), setext (4), ordinary (4), left (4), heavy (4), trailing (4), right (4), side (4), add (4), practice (4), few (4), kbd (4), single (4), apps (4), everything (4), these (4), pair (4), just (4), portable (4), deeper (4), many (4), sentence (4), img (4), reach (4), show (4), another (4), prose (4), hash (4), parentheses (4), square (4), reason (4), under (4), alternate (4), matters (4), skip (4), shows (4), over (4), original (4), label (4), email (4), both (4), becomes (4), punctuation (4), about (3), notion (3), editors (3), readme (3), glossary (3), toc (3), pdf (3), tools (3), try (3), quick (3), sizing (3), numbering (3), labels (3), sits (3), png (3), people (3), box (3), small (3), enough (3), top (3), part (3), generators (3), may (3), further (3), alone (3), symbol (3), enter (3), invisible (3), plenty (3), genuinely (3), answer (3), time (3), forms (3), comment (3), visible (3), reads (3), notes (3), definition (3), example (3), draft (3), online (3), underline (3), expect (3), mix (3), extension (3), pipes (3), see (3), always (3), items (3), tab (3), design (3), newline (3), core (3), else (3), glance (3), cause (3), missing (3), order (3), won (3), short (3), filename (3), bullet (3), quotes (3), fences (3), parser (3), anything (3), commit (3), keeps (3), chat (3), unclosed (3), stays (3), makes (3), readable (3), size (3), width (3), hatch (3), angle (3), needs (3), period (3), hyphen (3), asterisk (3), starting (3), major (3), directly (3), stay (3), underscores (3), invent (3), urls (3), clickable (3), nest (3), empty (3), rendered (3), too (3), hold (3), quoted (3), commonmark (3), platform (3), elsewhere (3), define (3), get (3), have (3), alternative (3), several (3), accept (3), monospaced (3), run (3), writers (3), version (3), step (3), third (3), legal (3), including (3), strong (3), hashes (3), converter (3), 2026 (2), service (2), search (2), compared (2), browser (2), build (2), align (2), copy (2), templates (2), extensions (2), checkboxes (2), related (2), behaves (2), things (2), sensitive (2), really (2), forgive (2), fine (2), setup (2), trap (2), leading (2), css (2), control (2), published (2), very (2), dashes (2), yaml (2), print (2), prints (2), words (2), treats (2), pipe (2), guarantee (2), regular (2), safer (2), press (2), next (2), sturdier (2), choice (2), sit (2), neither (2), since (2), who (2), yourself (2), passes (2), collapsible (2), security (2), using (2), columns (2), alignment (2), their (2), full (2), almost (2), indentation (2), joins (2), force (2), within (2), modern (2), standard (2), should (2), data (2), rows (2), none (2), simply (2), did (2), wrong (2), fails (2), alike (2), costs (2), removes (2), habits (2), documents (2), behind (2), hub (2), simple (2), markup (2), gets (2), settles (2), input (2), entirely (2), surrounding (2), would (2), swallow (2), rest (2), warn (2), div (2), classic (2), off (2), freely (2), mid (2), sup (2), mixing (2), separate (2), safely (2), honest (2), per (2), readmes (2), 400 (2), sub (2), built (2), bracket (2), exactly (2), cleaner (2), exclamation (2), mark (2), backtick (2), escaped (2), survives (2), pick (2), produce (2), divider (2), ecosystems (2), accepts (2), option (2), controlling (2), badge (2), reader (2), linked (2), describe (2), phrase (2), screenshot (2), looks (2), optional (2), follows (2), support (2), catch (2), numbers (2), halfway (2), renumbering (2), back (2), 2004 (2), appear (2), documentation (2), easy (2), extra (2), adding (2), normal (2), colour (2), red (2), commands (2), bash (2), names (2), middle (2), last (2), quoting (2), contains (2), ends (2), tildes (2), fragment (2), double (2), technical (2), marked (2), pull (2), deep (2), means (2), begin (2), emits (2), continue (2), useful (2), applies (2), gaps (2), sign (2), linters (2), alert (2), warning (2), elements (2), reply (2), give (2), predict (2), future (2), basic (2), ever (2), crossed (2), starts (2), together (2), word (2), fan (2), tic (2), tas (2), tabs (2), obvious (2), dialects (2), home (2), difference (2), cursor (2), forcing (2), hierarchy (2), clean (2), structure (2), called (2), today (2), format (2), complete (2), made, taiwan, rights, reserved, terms, privacy, policy, contact, blog, company, template, private, deepest, library, web, layouts, beside, learning, references, answers, whatever, normally, matched, regard, though, generated, lowercased, misses, bites, linux, servers, meaningful, macos, windows, machine, day, logo, hit, monospace, options, inset, 2em, settings, holds, fields, date, jekyll, hugo, astro, heard, draw, clash, untangles, turning, expressions, counting, backslashes, drops, official, method, workaround, unused, points, hidden, anyone, opens, comments, secrets, reminder, leaves, autosaves, locally, yes, straight, lacks, separated, header, row, colons, deserve, isn, adjacent, disappear, contributes, facto, flavor, frequently, asked, questions, bookmarked, daily, lookups, meet, share, raises, error, something, intend, quietly, beats, afternoon, hunting, broken, delete, half, until, indented, closed, portability, bug, wild, updates, keystroke, good, seo, skipped, consistent, disagreements, positive, across, safe, assumption, beyond, presentational, discarded, somewhere, test, pages, proof, argument, fast, running, dozens, babelmark, others, sanitize, selectively, sized, controls, attributes, script, environments, configs, sensibly, vanish, attribute, value, opaque, working, either, switch, ceremony, main, find, writing, walks, tally, seasoning, meal, less, thing, exists, protect, constantly, summary, set, superscript, subscript, keyboard, keys, shortcut, underlined, author, deliberate, untouched, whenever, outside, displayed, entity, spans, solution, places, unwanted, cells, curly, braces, underscore, sixteen, respond, special, meaning, expression, intact, behaviour, sometimes, interpretation, sparingly, thematic, sections, better, separator, appears, surround, ambiguity, vanishes, identically, ___, shorthand, query, parameters, assume, travels, resize, centring, drop, wrapped, generates, announces, thumb, legitimate, exception, purely, decorative, deliberately, tells, announcing, were, telling, someone, phone, weak, job, speak, engines, index, load, definitions, asset, remember, resolve, against, disk, digs, hosting, split, action, nor, count, pandoc, ignore, verbatim, multi, fallbacks, worth, named, much, easier, maintain, insert, gathers, moves, foot, come, 2005, revision, pricing, was, released, created, john, gruber, aaron, swartz, apply, idea, defined, belongs, pasted, convenience, nuisance, bare, trick, addresses, protected, undefined, giveaway, mistyped, identical, insensitive, doubles, com, project, repeat, hard, solve, anywhere, bottom, titles, overuse, touch, devices, substitute, already, says, save, context, placed, hover, tooltip, pitfalls, newcomers, percent, encode, flip, pane, catches, instantly, well, everyday, mainly, unexpected, lot, away, indenting, carry, trigger, accident, needed, reuse, slot, extras, highlight, range, identifiers, recognises, unsupported, unrecognised, ignored, breaking, log, added, removed, green, diff, sql, json, shell, terminal, sessions, spelled, highlighter, expects, rust, often, def, greet, return, hello, opening, swallows, grey, scroll, least, opened, tidiest, unhighlighted, runs, merge, symbols, variable, filenames, belong, npm, install, earns, font, processing, switched, literally, issues, requests, boxes, ticking, rewrites, underlying, everyone, thread, degrade, gracefully, bullets, must, follow, unchecked, required, proofread, interactive, escapes, mixed, detail, prepare, release, bump, update, changelog, push, registry, child, amount, reordering, compliant, interrupted, quirk, actual, sets, choose, switching, surprisingly, unexplained, restarted, rare, typo, popular, symmetry, natural, tool, citing, sources, flagging, callouts, builds, paints, coloured, callout, falls, degrades, message, chains, threaded, discussions, been, shown, neighbouring, lazy, carries, fully, agrees, greater, printable, strict, old, school, mixes, purpose, reliable, tell, closes, _also, italic_, combine, boundary, again, harder, scan, defeats, checkers, awkward, cases, _italic_, interchangeable, habit, fail, snake_case_names, __bold__, mean, convenient, rely, travel, hooks, asking, refuses, tap, arrow, key, presses, jumps, roses, violets, blue, address, poem, surprises, beginners, pressing, flowing, holding, counts, stacking, changes, gap, vertical, separates, consecutive, tidy, anchor, linkable, clear, unique, hands, casing, outline, underlines, prefer, misparse, glued, confuses, collides, stray, drawing, twenty, older, equals, signs, matching, closing, decoration, rarely, topic, become, refuse, dialect, nearly, gathered, caveat, spec, ecosystem, filled, pinned, 2014, specification, became, wikis, blogs, thirty, years, origin, story, wider, torn, comparison, clever, sensible, program, barely, lookup, examples, mistake, handful, updated, exact, result, trip, content, explained,
Text of the page (random words):
level 4 heading level 5 heading level 6 those six lines become html h1 through h6 here is what each level is for gives h1 the document title use it once gives h2 a major section of the page gives h3 a sub topic inside a section gives h4 useful in long technical docs and give h5 and h6 you will rarely need them most parsers also accept a matching run of hashes at the end of the line as in heading level 2 those closing hashes are decoration they never show up in the output alternate setext syntax the top two levels have an older alternate syntax called setext you underline the text with equals signs or hyphens heading level 1 heading level 2 the number of underline characters makes no difference one behaves exactly like twenty watch out the hyphen version collides with horizontal rules a stray line of hyphens under a paragraph turns that paragraph into a level 2 heading instead of drawing a divider heading best practices four habits keep a heading hierarchy clean and portable use one level 1 heading per document it is the title so there is only ever one never skip a level an h4 directly under an h2 confuses readers and screen readers alike leave a blank line above and below every heading a few renderers misparse a heading glued to the text around it prefer the style over underlines it covers all six levels and the level is obvious at a glance there is one more reason to keep the hierarchy tidy most renderers build an anchor id out of each heading so line breaks becomes a linkable line breaks clear unique heading text hands you clean deep links into your own document for free our headings reference goes further into anchors casing and outline structure paragraphs and line breaks starting a new paragraph paragraphs need no syntax at all any run of consecutive text lines is one paragraph and a blank line starts a new one this is the first paragraph this is the second the blank line above is what separates them a line holding nothing but spaces or tabs counts as blank stacking several blank lines changes nothing since two paragraphs is the most any gap can produce if you want visible vertical space use a horizontal rule or a heading instead forcing a line break the single newline is what surprises beginners pressing enter once does not break the line in the output markdown joins those lines into one flowing paragraph to force a line break within a paragraph for an address or a poem end the line with two or more spaces roses are red violets are blue tip those two spaces sit at the end of the line where nothing on screen shows them if the break refuses to appear put the cursor at the end of the line and tap the right arrow key two extra presses before the cursor jumps down means the spaces are really there trailing spaces vs the br tag trailing spaces are invisible and plenty of editors linters and commit hooks strip them without asking the sturdier option is the html tag br at the end of the line every markdown renderer accepts it some dialects treat every single newline as a real break including the ones behind most chat apps that is convenient at home do not rely on it for text that will travel between platforms paste both forms into the live editor and you will see the difference at once watch out never indent a paragraph with spaces or tabs four leading spaces mean code block in markdown and that is the classic cause of text that turns monospaced for no obvious reason emphasis bold italic and strikethrough bold wrap text in two asterisks or two underscores to make it bold that becomes an html strong element bold or __bold__ the two markers are interchangeable but asterisks are the safer habit underscores fail in the middle of words so snake_case_names stays literal in most renderers by design asterisks still work mid word so fan tas tic renders as fan tas tic italic one marker instead of two gives you italic an html em element italic or _italic_ the same word boundary rule applies so is again the portable choice pick one marker for the whole document and stay with it mixing them is legal but it makes the source harder to scan and it defeats most style checkers our bold and italic reference works through the awkward cases around punctuation bold and italic together three markers combine both bold italic renders as bold italic nesting an em inside a strong bold italic _also bold italic_ the second line mixes the two markers on purpose that form is the more reliable one when the emphasis starts or ends next to punctuation because the parser can tell which pair closes which strikethrough strikethrough is a gfm extension not original markdown wrap the text in double tildes crossed out that renders as crossed out it works on github gitlab discord reddit and in our editor but not in strict old school parsers two mistakes break every marker in this section spaces just inside the markers bold will not render at all an unclosed pair the asterisks simply stay on screen as literal text if you ever blank on which symbol does what the printable syntax sheet has the full quick reference table blockquotes a basic blockquote start a line with a greater than sign to quote it the best way to predict the future is to invent it which renders as the best way to predict the future is to invent it for a quote of several paragraphs put a on the blank line between them too most parsers accept a lazy form where only the first line of each paragraph carries the marker the fully marked version is the one every renderer agrees on tip leave a blank line before and after every blockquote without it some renderers pull the neighbouring paragraph into the quote and give you no warning at all nested blockquotes blockquotes nest add a second for a quote inside a quote and a third for one level deeper this is how email reply chains and threaded discussions have always been shown in plain text the original message and the reply to it other elements inside a blockquote a blockquote can hold any other markdown element headings emphasis lists even code keep the on every line including the blank ones that separate the blocks a quoted heading first quoted paragraph with bold text a nested quote inside the quote a list item inside the quote another item blockquotes are the natural tool for quoting email citing sources and flagging callouts in documentation github builds on that with alert syntax begin the quote with a line such as note or warning and github paints a coloured callout while everywhere else it falls back to an ordinary quote our blockquotes guide lists every alert type and how each one degrades lists ordered unordered nested and task lists unordered lists unordered lists start each line with a marker three are legal a hyphen this is the common convention and the one most linters expect an asterisk popular with writers who like the symmetry with emphasis a plus sign legal but rare enough to look like a typo first item second item third item tip choose and use it everywhere switching marker halfway does not continue the same list most parsers close the first list and open a second one which is a surprisingly common cause of unexplained gaps and restarted numbering watch out a list needs a blank line above it put a bullet directly under a paragraph and many renderers swallow it into that paragraph the same rule applies to headings quotes and code fences ordered lists ordered lists start with a number and a period 1 first step 2 second step 3 third step here is a useful quirk the actual numbers do not matter and only the first one sets the start 1 then 1 then 1 still renders as 1 2 3 many writers number every item 1 for that reason so reordering never means renumbering begin at 5 instead and a compliant renderer emits ol start 5 that is how you continue a list that a paragraph interrupted nested lists to nest a list inside a list indent the child items four spaces or one tab is the amount that works everywhere two spaces works in many renderers but not all you can mix ordered and unordered levels freely 1 prepare the release bump the version number update the changelog 2 publish tag the commit push to the registry to put a paragraph or code block inside a list item indent it to line up with the item s text rather than with the bullet and keep a blank line above it get that indentation wrong and the block escapes the list entirely our lists guide covers deep nesting and mixed lists in detail task lists gfm adds task lists which show up as interactive checkboxes on github x write the guide proofread it publish two rules matter here the brackets must follow a normal list marker and the space inside an unchecked box is required in github and gitlab issues and pull requests the boxes are clickable ticking one rewrites the underlying markdown for everyone on the thread elsewhere they degrade gracefully into plain bullets with literal brackets code inline fenced blocks and syntax highlighting inline code code is where markdown earns its keep for technical writers and the rule is simple anything marked as code renders literally in a monospaced font with all markdown processing switched off inside it for a fragment inside a sentence wrap it in single backticks npm install variable names commands and filenames all belong in that form if the fragment itself contains a backtick wrap it in double backticks instead leave a space just inside each marker so the runs cannot merge inline code is also the honest way to show markdown symbols in prose without escaping every one of them fenced code blocks for whole blocks use a fence a line of three backticks before and after the code plain unhighlighted code quoting code that contains a line of three backticks open and close with four or more instead a fence only ends on a run at least as long as the one that opened it tildes work as fence characters too which is the tidiest way to wrap one fenced block inside another tip close every fence you open an unclosed fence swallows the whole rest of the document into one grey box and no renderer will warn you if a page goes monospaced from the middle down scroll up to the last fence syntax highlighting with language tags write a language name right after the opening fence such as python js or bash renderers that support highlighting will then colour the code that covers github gitlab most static site generators and our editor python def greet name return f hello name the tags you will use most often are these python js ts go rust and other language names spelled the way the highlighter expects bash or sh for shell commands and terminal sessions json yaml html css sql for data and markup diff to colour added and removed lines green and red text when the block is not code at all such as log output tip add the tag every time it costs nothing where highlighting is unsupported and an unrecognised tag is ignored rather than breaking the block several ecosystems reuse that slot for extras some site generators accept a filename or a line highlight range after the language name our code blocks guide lists the identifiers each major platform recognises the four space indent alternative the original alternative still works indent every line of the block by four spaces and it becomes code with no fence needed fences have won in practice they need no re indenting when you paste code in they carry the language tag and you cannot trigger one by accident the four space rule survives mainly as a trap indent a normal paragraph and you get an unexpected code block if you write a lot of code heavy docs the one page syntax reference keeps all three forms one glance away links inline links the everyday form is inline link text in square brackets url in parentheses our editor https mdeditor tw relative paths work the same way as in the guide markdown guide so do same page anchors as in see below images two pitfalls catch newcomers spaces inside a url break the link so percent encode them as 20 or wrap the whole url in angle brackets and the brackets then parentheses order is easy to flip which the preview pane catches instantly our links reference has more on anchors relative paths and link text that reads well adding a title an optional title in quotes placed after the url becomes the hover tooltip our editor https mdeditor tw free online markdown editor titles are easy to overuse they are invisible on touch devices most screen readers skip them and they are no substitute for link text that already says where the link goes save them for genuinely extra context reference style links some documents repeat the same url over and over and long urls make the source hard to read reference style links solve both you put a short label in the text and define the url once anywhere in the document the convention is to define it at the bottom both the guide docs and the faq docs answer this docs https example com documentation project docs the rendered output is identical and only the source gets cleaner labels are case insensitive leave the second pair of brackets empty and the link text doubles as the label docs definition lines never appear in the output an undefined label renders as literal brackets which is the giveaway that you mistyped one autolinks for a bare url that should be clickable as is wrap it in angle brackets as in https mdeditor tw the same trick works for email addresses email protected gfm goes further and autolinks pasted urls even without the brackets that convenience turns into a nuisance when you did not want a link wrap the url in backticks or escape its first character to keep it plain text footnotes footnotes apply the reference style idea to prose a small marker sits in the sentence and the note itself is defined elsewhere in the file write 1 where the marker belongs then define it on its own line markdown was released in 2004 1 1 created by john gruber with input from aaron swartz the renderer gathers every definition moves it to a notes block at the foot of the page and adds a link back to the marker numbering follows document order no matter what label you type so pricing note and 2005 revision still come out as 1 2 3 named labels are much easier to maintain than numbers insert a note halfway through a draft and nothing needs renumbering support is the catch footnotes are in neither original markdown nor commonmark so they count as an extension github gitlab obsidian and pandoc render them reddit discord and plain commonmark parsers ignore the syntax and print the brackets verbatim our footnotes reference has the multi paragraph form the platform by platform table and the fallbacks worth using elsewhere images image syntax an image is a link with an exclamation mark in front the square brackets hold the alt text the parentheses hold the image url and an optional quoted title follows a split screen markdown editor img md editor screenshot png md editor in action reference style definitions work for images too which keeps long asset paths out of your prose remember that relative...
|