Skip to content
Get a quote Call +66 93 004 4098

Web design and UX

From Figma to WordPress: turning a design file into a working custom theme

A Figma file is a picture of your website. Here is how a developer turns it into a WordPress theme your staff can actually edit.

Cover image for this guide: Workflow

The short answer

A Figma design becomes a WordPress site when a developer rebuilds it by hand as a theme: the colours, fonts and spacing become theme settings, the repeated sections become blocks or patterns, and the pages are recreated with your real content.

Automatic converters exist, but for a business site they rarely produce code that is fast, accessible and safe for staff to edit.

So the useful questions are not "which plugin converts Figma" but "is my file ready to hand over" and "which build route fits how we will edit the site". Both are covered below. The file itself may follow website design trends for 2026 or ignore them; the conversion process is the same either way.

We do not sell Figma design work as a separate service, and this article does not assume we drew your file. It is written for owners and designers who already have a design, from an in-house designer or a freelancer, and want to know what happens next.

What a Figma file usually misses

  • States. Hover, focus, error and empty states for buttons and forms are often not drawn.
  • In-between screen sizes. Many files show a desktop and a phone frame only. Tablets and small laptops are left to guesswork.
  • Real content. Placeholder text is short and tidy. Real room descriptions, treatment names and product titles are not.
  • Thai text lengths. A button that fits "Book now" may not fit the Thai equivalent at the same size, and Thai needs more vertical room for its vowel and tone marks.

What does a Figma file need before handoff?

A tidy file saves days of back and forth. If your designer is newer to web work, our primer on UX design basics explains why states and flows matter as much as the look. Before you send the link, check these points.

  • Named styles and variablesColours, text styles and spacing saved as named styles or variables, not typed by hand on each layer.
  • Auto layout on componentsCards, buttons and sections built with auto layout, so the developer can see how they stretch and wrap.
  • Breakpoint framesAt least desktop, tablet and phone frames for every template, not just the home page.
  • Component statesHover, focus, disabled and error states drawn for buttons, links and form fields.
  • Real or realistic contentLongest likely headings and descriptions in both English and Thai, not lorem ipsum.
  • Exportable assetsIcons as SVG, photos at full resolution, and a note on which images staff will replace.
  • Font licencesConfirmation that every font may be used on the web, with the licence or the web font source.
  • Dev Mode or inspect accessView or Dev Mode access for the developer so measurements and values can be read directly.

Four ways to get from Figma to WordPress

There are four realistic routes. The right one depends less on the design and more on who edits the site afterwards and how long you plan to keep it. If you are still deciding whether you need a bespoke build at all, our comparison of a WordPress template vs custom site covers that choice first.

A word on automatic converters

Converter plugins read the Figma layers and output pages. They are quick for a mock-up. The trouble shows later: absolute positioning that breaks on phones, deeply nested markup, images where text should be, and pages that only the converter can edit. Treat the output as a prototype, not a production site.

RouteHow it worksGood forWatch out for
Hand-built custom themeDeveloper codes templates and blocks from the designSites that must stay fast and match the design closelyNeeds a developer for new layouts
Block theme with patternsDesign values in theme settings, sections as reusable patternsTeams that add pages often and want guard railsPattern set must be planned up front
Page builder rebuildDesign recreated inside a visual builderOwners who want to move things freelyHeavier pages, and editors can drift off the design
Automatic converterPlugin or service turns layers into pagesQuick prototypes and demosFragile layout, poor code, hard to edit

From variables and components to theme.json and blocks

The conversion is mostly a translation exercise. Each thing in Figma has a natural home in WordPress, and a clean file makes the mapping almost one to one. If a term below is new to you, our web design glossary explains themes, components and the rest in plain words.

In FigmaBecomes in WordPress
Colour variablesThe colour palette in theme.json
Text stylesFont families and a font size scale in theme.json, with Thai and English fonts set separately
Spacing variablesSpacing presets and content widths
Small components (button, badge, input)Block styles on core blocks
Section components (hero, card grid, FAQ)Block patterns, some with locked structure
Complex components (price box, room card with fixed fields)Custom blocks
Page framesPage templates and the first real pages

Where the file used raw values instead of variables, the developer has to reverse-engineer a system: fourteen near-identical greys become three, and odd spacing values get rounded to a scale. That is normal, but you should expect small visual differences from it, and it is worth agreeing up front who signs off on them.

What always changes between design and build

  • Text wraps differently in a browser than in Figma, especially Thai, which has no spaces between words.
  • Fonts render slightly differently across Windows, Mac, Android and iPhone.
  • Menus, sliders and pop-ups need behaviour the static file cannot show.
  • Cookie consent and PDPA notices need space the design rarely reserves.

Keeping it editable

A pixel-perfect build that your receptionist or marketing assistant cannot update is a failed build. Editability has to be designed in, not added after launch.

Decide what staff can change

Before development starts, list what changes weekly (offers, menus, opening hours, news), what changes yearly (team, services, prices) and what should rarely change (layout, header, footer). The first group gets simple fields or patterns. The last group is locked in the theme.

Give editors building blocks, not a blank canvas

Staff insert a ready "promotion" pattern, swap the photo and text, and publish. They do not drag spacing handles or pick colours. This is where a custom theme differs from a page builder: the editor stays simple, and the design survives the fifth person who touches it.

Plan for two languages

If the site is English and Thai, each pattern must be tested with Thai text in it before handover. Editors should see how to switch language, where the Thai version of a page lives, and which fields must be filled in both.

Hand over properly

A short recorded walkthrough or a one-page guide per content type saves more support time than any amount of documentation nobody reads.

How do you test the build against the design?

Put the Figma frame and the page on your staging site side by side and work through a fixed list. It is also worth comparing against a few website design examples by industry so you judge the result as a working site, not only as a copy of the file.

  • Browsers: Chrome, Safari, Edge and Firefox, plus the in-app browser that opens when someone taps your link inside LINE or Facebook.
  • Devices: a mid-range Android phone, an iPhone, a tablet and a laptop. Many Bangkok visitors arrive on mobile data, so test on a phone connection, not only office Wi-Fi.
  • Thai text: long headings, line breaks inside words, vowel marks clipped by tight line height, and the Thai font loading correctly.
  • Accessibility: keyboard navigation, visible focus, colour contrast and alt text on images.
  • Forms: every form sends, shows a clear error, and records consent where PDPA requires it.
  • Speed: image sizes, font loading and anything heavy the design added, such as video backgrounds.

Common mistakes

  • Approving the design on desktop only, then discovering the phone layout at launch.
  • Using a font with no web licence.
  • Designing with short English copy and adding Thai at the end.
  • Picking a page builder for speed, then fighting it to match the file.

Time, cost and next steps

Three things drive the time and cost of a Figma build: the number of distinct templates (not pages), how many custom blocks the design needs, and whether the site runs in one language or two. Missing states and breakpoints add time too, because the developer has to design them on the fly and get your approval.

For reference, our typical project runs about 15 days. A larger site, a complex catalogue or a file with gaps can take longer, and we say so in the quote rather than after. Our Business package starts from THB 30,000 as an indicative one-time price and covers up to 15 pages in English and Thai on a custom WordPress theme with no page builder, with two revision rounds. The final price is set in your written quote.

If you have a finished file, our website design on WordPress service builds supplied designs as custom themes. Send the Figma link and a list of templates and you can request a quote based on the actual file. For broader background on the platform locally, read our guide to WordPress Thailand, or browse more articles on WordPress, Shopify and platforms.

More on WordPress builds

Sources

Litesh Dhir, co-founder of Website Development Bangkok
Reviewed by Litesh DhirCo-founder, SEO and web development

Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish. This guide was written by the Website Development Bangkok team. More about us

Common questions

Can a Figma design be converted to WordPress automatically?

Partly. Converter plugins and services can turn Figma layers into WordPress pages, and they are handy for a quick prototype. For a live business site the output usually has fragile layouts on phones, heavy markup and pages that are hard for staff to edit. A developer rebuilding the design as a theme gives you cleaner code and an editor your team can use safely.

How long does it take to turn a Figma design into a WordPress site?

It depends on the number of templates, custom blocks and languages, and on how complete the file is. Our typical project takes about 15 days. Larger sites, big catalogues or files missing phone layouts and states take longer. We state the expected timeline in the written quote once we have seen the file.

Do I need a page builder to build from a Figma design?

No. A page builder is one route, not a requirement. A custom theme or a block theme with patterns can match a Figma design closely while keeping pages lighter and the editor simpler. Page builders suit owners who want to rearrange layouts freely, but that freedom also makes it easier for the site to drift away from the original design.

What should a designer prepare before handing over a Figma file?

Named colour and text styles or variables, components built with auto layout, desktop, tablet and phone frames for every template, and drawn states for buttons and forms. Add realistic English and Thai content, SVG icons, full-size photos, confirmation that the fonts are licensed for web use, and view or Dev Mode access so the developer can read exact values.

Will the finished site look exactly like the Figma file?

Very close, but not identical. Browsers wrap text and render fonts slightly differently, Thai line breaks behave differently from a static frame, and real content is longer than placeholders. Small spacing values also get rounded to a consistent scale. Agree before the build who approves these differences, and review on real phones rather than only on a desktop screen.

Tell us about your website

Send a few lines on WhatsApp or through the quote form. You get a written quote with the scope, timeline and price for your project.

Or WhatsApp or call +66 93 004 4098, every day, 10:00 to 19:00 ICT. service@websitedevelopmentbangkok.com

WhatsApp Call