Paste a tailwind.config.js and get the v4 CSS it becomes: an @theme block with the right variable namespaces, and a note for every part that needs a decision.
The result appears hereEverything in theme and theme.extend that has a v4 namespace: colors, spacing, fonts, sizes, radii, shadows, screens, z-index, durations and easings. Nested keys flatten into the variable name, and DEFAULT drops out of it.
They cannot be evaluated in a browser, so lines carrying code are skipped and reported. Plugins become one @plugin line each in v4, and a required palette has to be written out as values.
The animation shorthand maps to --animate-*, but the keyframes themselves stay CSS at-rules. Copy them into the same file, outside the @theme block.
2189 blocks and 1325 pieces for shadcn/ui and Tailwind, built on the same tokens these tools write. Install one with a command and the code is yours.
Browse the blocksNo signup for the tools. MIT for free blocks, commercial licence for Pro.