Send one URL
One GET request with the page’s address and, if you want, the section by name. No browser to run, no scraper to write.
GET /v1/code25 credits/callThe website to Tailwind converter, as an API: point it at a section of any website and get back markup with utility classes, mapped from the CSS that page really uses.
One GET request with the page’s address and, if you want, the section by name. No browser to run, no scraper to write.
It loads every stylesheet and works out which rule wins for each element, the way a browser does.
Typed JSON, for 25 credits. A repeat call within 24 hours is free.
pricing.html
One authenticated GET against any live URL. Typed JSON back.
GET /v1/codeFound on the page
Formats you can ask for
Why this one
CSS to Tailwind converters need the CSS pasted in, and screenshot tools invent the values. This reads the live page and maps what is really there.
Compare alternativesOnly url is required. Everything else narrows or reshapes the result.
urlrequired
any public URL
The page to extract from. With or without protocol (https:// is assumed).
framework
tailwind (default) · html · jsx · vue · elementor · shopify
The code you get back. tailwind returns markup with utility classes; html returns markup plus a companion stylesheet; jsx returns a React component; vue returns a single-file component.
section
hero · header · footer · pricing · features · testimonials · faq · cta
A part of the page by name, for callers that cannot see its markup (AI agents, mostly).
selector
any CSS selector
The section to extract, e.g. selector=%23hero or selector=.pricing-card - best taken from a previous response's sections list.
name
a component name
Component name for the jsx target - the identifier in "export default function ...".
theme
light (default) · dark
Which colour scheme to extract.
fields
field names
Comma-separated list of fields to return (e.g. fields=code,tokens).
render
true · false (default)
Load the page in a real browser and run its JavaScript before extracting.
fresh
true · false (default)
Skip the 24-hour cache and re-extract from the live page.
screenshot
true · full · false (default)
Requires render=true. The same real browser that renders the page also captures a screenshot - true for the 1440x900 viewport, full for the entire page height.
Every parameter, the response fields and the error codes are in the reference.
“Rebuild the hero section of linear.app in Tailwind in my project.”
Step-by-step setup for your agent
Take a pricing table or hero from a site that is not built with Tailwind and get it as utility classes.
Cursor and Claude Code adapt true spacing and colors instead of estimating them from a screenshot.
Convert the sections of a legacy site one at a time while you move it to a Tailwind codebase.
It resolves the page’s cascade first: every stylesheet, specificity, media queries and CSS variables. Then it maps each winning declaration to the matching utility. A value that has no stock utility becomes an arbitrary value, such as text-[#0a2540], so the result is exact rather than rounded to the nearest default.
Yes. Media queries become sm:, md: and lg: variants, state rules become hover: and focus: variants, and a prefers-color-scheme block becomes dark: variants. Pass theme=dark to make the dark version the base.
No. It works from the computed result of any CSS, whether the site was written with Tailwind, plain CSS, Sass or a CSS-in-JS library. Pages that build their styles in the browser need render=true.
The @keyframes a section uses come back in the css field, and the elements carry the matching animate-[…] classes. Add the keyframes to your global stylesheet.
25 credits per section. Failed and blocked requests are never billed, a repeat call within 24 hours is free, and every key includes 300 free credits a month.
Yes. The page’s HTML and CSS are read first, which is enough for most sites. When a page only builds itself with JavaScript, or refuses a plain request, it is re-read in a real browser automatically at no extra cost. Add render=true to force the browser, for example for images that load on scroll: that costs 5 extra credits, on every plan including the free key.
No. It reads public pages the way a visitor without an account would see them. Pages that need a sign-in, and addresses on your own machine such as localhost, are out of reach.
Yes. The same call is the extract_code tool on the MiroMiro MCP server. Connect ChatGPT, Claude, Cursor, Codex or another agent once, with a sign-in and no API key, and ask in plain language.
The MiroMiro website to Tailwind API takes a URL and returns a section of that page as markup with Tailwind utility classes. It does not guess from a screenshot. It fetches the page and its stylesheets, runs the cascade to find the declaration that wins for each property on each element, and maps those declarations to utilities.
Source class names, data attributes and wrapper divs that carry no styling are removed. Reset rules are left out, because Tailwind’s own base layer already provides them. What is left reads like markup a developer wrote: the structure of the section and the classes that style it.
Every response also lists the other sections on the page with a selector for each, so an agent can ask for the pricing table next without seeing the markup. The design tokens the section uses come back alongside the code, ready to drop into a theme.
300 free credits every month, no credit card. One key unlocks every endpoint - brand, tokens, images, SVGs, fonts, and Lottie. Upgrade only when you outgrow the free tier.