Writing
Resumes, cover letters, word counts and interface copy, held to the same standard as the pixels.
All 6 writing tools
Every one runs in your browser. Nothing is uploaded and nothing is metered.
Resume builder
16 templates matched to your field, every detail adjustable, free as PDF and Word.
Type your name →
Cover letter builder
A letter in your resume’s own design, so the two look like one set, free as PDF and Word.
Match your resume →
Link & button text auditor
Find the labels that say nothing once the sentence around them is gone.
Paste your markup →
Word counter
Words, characters, reading time and platform limits, counted correctly in any script.
Paste your text →
Case converter
Title case in APA, Chicago or AP, sentence case, camelCase and more, with Turkish and German handled.
Paste your text →
ATS resume checker
See the text and fields a parser pulls from your PDF or Word resume, and what goes wrong.
Choose your resume →
What writing tools are
Tools for text that has to work for a machine reader as well as a person: interface copy measured against the WCAG criteria that govern it, resumes and cover letters laid out so an applicant tracking system can parse them, a checker that shows what a parser extracts, and a counter and a converter that follow a platform’s own counting rule or a style guide’s own title-case list. In each case the test is mechanical, which is what separates these from general writing assistance.
Interface copy held to the same standard as the pixels. Link and button labels are an accessibility requirement, not a style preference, and they are the part of a design most often left to chance.
The same standard applied to a job application: a resume builder with sixteen templates matched to your field, a cover letter builder that draws its letterhead with the resume’s own layout code, and an ATS resume checker that shows what a parser pulls out of the PDF or Word file you send. Both builders download free as PDF and Word.
And the everyday jobs, done by a published rule: a word counter that checks each platform’s limit the way that platform counts, and a case converter that sets title case in APA, Chicago or AP style.
Link text is a WCAG requirement
Screen-reader users routinely navigate by pulling up a list of every link on a page, stripped of its surrounding sentence. A page of eleven links all reading "learn more" becomes a list of eleven identical entries. That is what WCAG 2.4.4 is about, and it is why "click here" is a failure rather than a matter of taste.
The auditor checks against 2.4.4, 2.4.9, 2.5.3, 2.4.6 and 4.1.2 — link purpose, link purpose in isolation, label in name, headings and labels, and name-role-value. It reports which criterion each finding breaches, because "this is bad copy" is an opinion and "this fails 2.4.4" is a fact someone can act on.
What makes these writing tools different
Every link finding names its criterion and its level
A result arrives as "2.5.3 Label in Name, Level A" rather than as a suggestion. That is the difference between something a reviewer can argue with and something a ticket can cite.
The rules cover 2.4.4 (A), 2.4.9 (AAA), 2.5.3 (A), 2.4.6 (AA) and 4.1.2 (A).
It refuses to print a readability score
Readability formulas divide by sentence count and were fitted on continuous prose, so on a two-word label the divisor turns the output into an artefact. A grade level for a button is a number with nothing behind it, and showing one would make everything beside it less trustworthy.
Flesch–Kincaid rates “Learn more” and “Click here” at 120.2 reading ease — above the top of the scale — and rates the far clearer “Download invoice PDF” at 62.8.
A resume and a cover letter drawn by the same code
The resume builder matches sixteen templates to your field. The cover letter builder copies a saved resume’s design and details, and its letterhead is drawn by the resume’s own layout code rather than imitated, so the two read as one set. Both download free as PDF and Word, with nothing uploaded.
A test compares the letter’s header with the resume’s op for op on all 16 templates at A4 and US Letter: 32 pairs, each identical in kind and position.
What a parser reads, shown on your own page
The ATS resume checker reads a PDF or Word resume in your browser, numbers every piece of text in the order a parser takes it, lists the fields it finds and names each problem. It gives no score, because no tracking system publishes how it ranks a resume.
Swept over the resume builder’s own PDFs (16 templates, each with all 16 example resumes), the one-column templates raise no findings and the 4 sidebar templates raise only the columns finding.
Counts that follow each platform’s own rule
The word counter splits scripts written without spaces into words, and checks each platform limit the way that platform counts it, with the platform’s own page linked. A single character count shown against every limit is wrong for most of them.
我喜欢学习中文 counts as 4 words where a space-splitting counter reports 1. A curly apostrophe is outside the GSM 7-bit alphabet, so a 100-character text containing one needs 2 messages instead of 1.
Title case by the style guide you follow
The case converter sets title case in APA, Chicago and AP side by side, because the three disagree on short words, alongside sentence case and the code cases. Case changes follow the language you choose, not the settings of your computer.
“istanbul” uppercases to “ISTANBUL” under English rules and “İSTANBUL” under Turkish ones; “straße” becomes “STRASSE” or “STRAẞE”.
How to do it
The order that works, and why each step changes the answer.
Copy the markup, not the rendered text
Open developer tools and copy the outer HTML of the region you care about. Copying what you can see throws away the aria-labels, and the aria-labels are where half the failures live.
Read the link list first
The report shows each link the way a screen reader announces it, out of context. Anything you cannot identify from that row is a 2.4.4 finding, whether or not the sentence around it made sense.
Fix by naming the destination or the action
“Download invoice PDF” rather than “Download”. The label has to survive being read on its own, because that is the state it will be read in.
Start the accessible name with the visible text
Where an aria-label is genuinely needed, begin it with the words on screen and add the rest afterwards. That satisfies 2.5.3 and keeps voice control working.
Re-run the whole region
Fixing one label often exposes a duplicate elsewhere — two different destinations now sharing a name. Check the region again rather than the line you changed.
Worked examples
Real inputs, real numbers. Pick one.
Eleven links that all say the same thing
You give it
A page where every card carries a “Learn more” link.
You get
The link list a screen-reader user navigates by becomes eleven identical rows. Each is a 2.4.4 finding, and the fix is eleven different labels rather than one better wording applied everywhere.
A button voice control cannot reach
You give it
<button aria-label="Find records">Search</button>
You get
Fails 2.5.3 Label in Name, Level A. The accessible name does not contain the visible word “Search”, so saying “click Search” does nothing. Renaming it to “Search records” satisfies both the label and the name.
The score this tool will not give you
You give it
“Click here” and “Download invoice PDF” through Flesch–Kincaid.
You get
120.2 against 62.8 — the formula rates the useless label as vastly easier reading. That is what a readability score does to interface copy, and it is why none is shown.
Which writing tool do you need?
Start from the job, not the tool name.
You need a resume for a job application
Resume builder
Templates matched to your field, every design setting adjustable, and a one-column PDF that parsers read in order, free with nothing uploaded.
You need a cover letter to go with it
Cover letter builder
It copies a saved resume’s design and details, so the two look like one set, and can download the letter and resume as one PDF for portals that take a single upload.
You want to see what a job portal reads from your resume
ATS resume checker
It shows the text in the order a parser reads it and the fields it finds, outlined on your own page, without uploading the file.
You are writing to a word count or a character limit
Word counter
Words, characters and reading time, and each platform’s limit counted the way that platform counts, with its source linked.
You need a headline in a house style, or a variable name
Case converter
Title case in APA, Chicago and AP side by side, sentence case, and camelCase, snake_case and the other code cases.
You are auditing an existing interface
Link & button text auditor
Paste the markup and it reports which WCAG criterion each label breaches, which is actionable in a way that a style note is not.
You are reviewing a design before handoff
Link & button text auditor
It finds labels that say nothing once the surrounding sentence is stripped away — the state a screen-reader user navigates in.
Interface copy is not prose
| Aspect | dsyn | A general writing checker |
|---|---|---|
| What it measures | WCAG 2.4.4, 2.4.9, 2.5.3, 2.4.6 and 4.1.2 | Grammar and tone |
| Readability score | Refused — the formulas are built for prose | A grade level for a two-word button |
| Output | The criterion each finding breaches, with its level | A subjective suggestion |
| Input | Your markup, so accessible name and visible text can be compared | Plain text |
| Where it runs | Your browser | A server, with your copy in the request |
The figures behind that
Screen-reader users commonly navigate by listing every link on a page stripped of its surrounding sentence, which is what WCAG 2.4.4 addresses.
WCAG 2.5.3 requires the accessible name to contain the visible label text — a mismatch breaks voice control even when both read well.
Flesch–Kincaid scores “Learn more” at 120.2 reading ease and “Download invoice PDF” at 62.8, rewarding the label that says nothing.
The claim that tracking systems reject 75% of resumes traces to a 2012 sales pitch with no published method; 23 of 25 US recruiters asked in 2025 said they do not set up content-based auto-rejection.
Every one of the 16 hand-written example cover letters runs to between 250 and 268 words and raises none of the builder’s own suggestions.
Chicago’s 18th edition (2024) changed its title case: “Disparities among Communities throughout the Nation” in the 17th becomes “Disparities Among Communities Throughout the Nation”.
Keep exploring
9 tools
Colour
Check it, fix it, extract it, turn it into a system.
4 tools
CSS
Gradients and surfaces as CSS you paste, measured as they will paint.
3 tools
Typography
Pairing, scale, readability and font identification — measured the same way.
3 tools
Branding
Marks, codes and sheets — the things that carry the brand.
15 tools
PDF
Merge, split, protect and convert — none of it uploaded.
3 tools
Video & audio
Trim, extract and convert — decoded by your own browser, not a server.
14 tools
Converters
Change a file’s format or size, or a length’s unit, without anything leaving your device.