Most website design arguments in Malaysian SMEs end the same way. Someone says the blue “feels too corporate”, someone else says the font “looks cheap”, and whoever is paying wins. Nobody produces evidence, because nobody has any.
That is a shame. Website colours and fonts are among the few design choices you can check against a number. Contrast can be measured. Font size can be measured. Click rate can be measured. Taste cannot.
This guide covers how we choose website colours and fonts at ZenWeb — how many colours, how to pair typefaces, what size body text needs on a phone, and what our data shows when those rules break. First, a short primer on palettes and typefaces.
Source video: Podia on YouTube
Quick Answer: Colour and type are the first things a visitor processes, before a single word is read. They signal whether the business looks credible, and they direct the eye to the next action. When they fail, the visitor cannot find the button — or cannot read the text on a phone in daylight.
Treat it as wayfinding, not decoration. A visitor lands with one question — can this business do the thing I need? — and about one screen of attention to answer it. Your website colours and fonts either move their eye to the answer, or they don’t.
Two forces make this harder in Malaysia than in a design blog written for desktop readers:
Not sure if your current site passes the phone test?
We check colour, type and layout on real devices as part of every build. See how ZenWeb approaches web design →
Quick Answer: Three, plus neutrals. One dominant brand colour for roughly 60% of the coloured surface, one secondary for about 30%, one accent for the last 10%. The accent belongs to buttons and nothing else. Grey, white and near-black do the rest.
The 60-30-10 split comes from interior design, and it survives on the web for one reason: it leaves exactly one colour with nothing to do except mean “click here”. The moment your accent also appears in an icon set and a heading, it stops signalling action and becomes wallpaper.
A working palette needs six values, no more:
Write those six hex codes down and hand them to whoever edits the site next. Website colours and fonts rarely fail at launch. They fail six months later, when three people have each added “just one” new colour. That drift is one reason a site feels dated — weigh it against the wider web design trends that actually matter in Malaysia before paying for a rebrand.
Quick Answer: Across the SME sites ZenWeb audits before a rebuild, the commonest fault is body text set too small for a phone, followed by contrast below the 4.5:1 accessibility floor. Both are silent — the owner never sees them, because the owner is on a laptop.
Here is what turns up when we run the same six website colours and fonts checks before a redesign.
| Check | Share of sites failing | % |
|---|---|---|
| Body text under 16px on mobile | 61 | |
| Body contrast below 4.5:1 | 44 | |
| Three or more typefaces loaded | 38 | |
| Primary button contrast below 3:1 | 33 | |
| Links not distinguishable from body text | 27 | |
| Five or more brand colours in use | 22 |
Source: ZenWeb pre-rebuild site audits, Malaysian SME client sample, 2024–2026. Licence.
The faults that hurt most are invisible to the person who paid for the site — they only show up on a phone, outdoors, to someone over 40. That is why they survive redesign after redesign. The 12 steps to run before you rebuild put these checks before the visual debate, not after it.
Quick Answer: Two typefaces maximum — one for headings, one for body — and one is fine if you use weight and size to create hierarchy. Pair fonts by contrast, not similarity: a distinctive heading face against a plain, workmanlike body face.
Font pairing sounds like an art problem. It is mostly a discipline problem, and three rules cover it:
Sizing matters more than the family. Body text at 16px minimum on mobile, line height around 1.6, line length between 50 and 75 characters. A beautiful typeface at 13px across a full-width paragraph is still unreadable — and unreadable pages sell nothing on an e-commerce site and fill nothing in an online booking system.
Quick Answer: Across ZenWeb client sites, mobile form completion climbs steadily as body and label text grows from 12px to 16px, then flattens. 16px is where the gain stops — going bigger looks generous but buys almost nothing.
This is the cheapest fix in web design. One CSS value, one minute, no cost.
| Body text size | Form completion rate | Change vs 12–13px |
|---|---|---|
| 12–13px | 2.1% | baseline |
| 14px | 3.0% | +0.9 pts |
| 15px | 3.8% | +1.7 pts |
| 16px | 4.9% | +2.8 pts |
| 17–18px | 5.2% | +3.1 pts |
Source: ZenWeb client tracking across 12 industries, 2024–2026. Licence.
Moving body text from 13px to 16px more than doubled mobile form completion across our client sample — from 2.1% to 4.9%.
Note where the curve flattens. Between 16px and 18px the gain is 0.3 points, not worth the screen space. 16px is not a floor to beat — it is where the problem stops being font size and starts being your offer.
Quick Answer: There is no winning colour. Red beats green on some sites and loses on others, because what actually changed was contrast against the surrounding page. Pick the accent colour that stands furthest apart from your dominant colour, then leave it alone.
The usual advice ends with “so A/B test your button colour”. For most Malaysian SMEs that is quietly useless. A site with 800 visitors a month and a 3% click rate would need most of a year to reach a meaningful result — by which time the offer, the season and the ad budget have all changed.
So do the opposite. Contrast is measurable with a free checker in ten seconds, no traffic required. Set the button by contrast, lock it, and spend the testing budget on what moves the number far more: the offer, the headline, the number of form fields.
Three rules cover the button:
Quick Answer: Group ZenWeb client pages by the measured contrast between the primary button and its background, and click rate roughly doubles from the weakest band to the 4.5:1–7:1 band. Past 7:1 the gain nearly disappears, and low contrast is punished hardest on mobile.
Same button, same copy, different contrast:
| Contrast band | Desktop | CTR | Mobile | CTR |
|---|---|---|---|---|
| Under 3:1 | 1.4% | 1.1% | ||
| 3:1 – 4.5:1 | 2.2% | 1.9% | ||
| 4.5:1 – 7:1 | 3.4% | 3.3% | ||
| Above 7:1 | 3.6% | 3.5% |
Source: ZenWeb operational data, 500+ Malaysian SME accounts, 2024–2026. Licence.
The device gap closes once contrast passes 4.5:1. And the jump from the 3:1–4.5:1 band into the 4.5:1–7:1 band is worth more than any colour swap we have run.
Want your buttons measured instead of argued about?
We check contrast, type scale and CTA placement page by page before touching a design. Get a ZenWeb web design review →
Quick Answer: Every typeface you load is a file the browser must fetch before it can draw text properly. Google’s guidance is blunt: use WOFF2 only, load fewer families, and set a font-display strategy so text never sits invisible while a font downloads.
This is where website colours and fonts meet page speed, and where most SME sites quietly lose. Four families at three weights each is twelve font files — real delay on a mid-range phone before anything is readable.
The shortlist, straight from Google’s web.dev font best practices:
Fonts sit on our handover list alongside the rest of the 20 checks to run before you go live, and they quietly accumulate over the years — which is why they belong on any website maintenance plan.
Quick Answer: The font-display property decides what a visitor sees while your font downloads. Left unset, Chrome and Firefox hide text for up to three seconds and Safari hides it indefinitely. Setting it to swap or optional is a one-line fix.
The trade-off, from Google’s published behaviour table:
| Value | Block period | Swap period | Best for |
|---|---|---|---|
| auto | Varies by browser | Varies by browser | Nothing — never leave it unset |
| block | 2–3 seconds | Infinite | Logo-critical brand type only |
| swap | 0 ms | Infinite | Headings and brand type |
| fallback | 100 ms | 3 seconds | A middle path |
| optional | 100 ms | None | Body text — no swap-driven shift |
Source: Google web.dev, font-display behaviour table, 2026. Reference.
Our default: optional for body text, so a slow font never shifts the page under the reader’s thumb, and swap for headings, where the brand face is worth a moment’s wait. It is the pairing web.dev itself suggests when you want speed and branding together.
Quick Answer: The expensive mistakes are not the ugly ones. They are grey text on white, a button that blends into its section, four typefaces on one page, and text laid over a busy photo — all of which look acceptable on a designer’s monitor and fail in the wild.
The recurring offenders, in the order we fix them:
None of these makes a site look broken, which is why they survive. They sit alongside the other quiet web design mistakes that cost Malaysian SMEs sales, and next to the belief we spend most time undoing in the web design myths business owners still hold — that a prettier site converts better.
Quick Answer: Fix six hex codes, two typefaces, one type scale and a 4.5:1 contrast floor, then record them in one document. Every future page inherits the decision instead of reopening it — which is how a site stays coherent as it grows.
Website colours and fonts stop being a debate the moment they become a written standard. The document need not be elaborate: the palette, the two families, the sizes, the contrast floor, and one line reserving the accent for buttons. That page outlives the designer, the agency, and the intern who “just tweaked the heading colour”.
The standard holds whether the site is a brochure, an e-commerce store, or a WordPress rebuild migrated off Wix — even if you are still weighing an app against a website. So does the same discipline around navigation that converts, one page or many, and keeping WordPress secure once it is live.
Ready for a website that reads well and converts?
Book a free 30-minute strategy session. We’ll review your site’s colour, type and conversion path, check how it ranks against your competitors, and hand you a 90-day plan with realistic lead targets.
Two at most — one for headings, one for body. One is fine if you build hierarchy from weight and size. In our audits, 38% of SME sites loaded three or more typefaces with no design benefit.
At least 4.5:1 between body text and its background, and 3:1 for large text of 18pt or 14pt bold and above — the Level AA thresholds in the W3C’s WCAG contrast guidance. Free checkers give you the number in seconds.
There isn’t one. The winning colour is whichever contrasts most sharply with the page around it and is used nowhere else. In our client data, moving a button from under 3:1 contrast into the 4.5:1–7:1 band roughly doubled click rate.
16px minimum, line height around 1.6. Our client tracking shows mobile form completion climbing from 12px to 16px, then flattening. Anything under 14px costs you enquiries you never hear about.
Not directly, but website colours and fonts feed the signals Google measures. Slow fonts hurt Core Web Vitals; unreadable text raises bounce rate. Set font-display properly, keep to two families, and that cost disappears.
Complete the form and our team will contact you to discuss your goals. Let’s grow your business.

Meowketing Specialist
Online