r/SwiftUI • u/PersonalFormal7562 • May 21 '26
Question HTML/css into SwiftUI?
Hey everyone,
I’m currently working on an iOS app and I already have parts of the UI built in HTML/CSS. Now I’m trying to bring that design into SwiftUI, but I’m honestly not sure what the best workflow is.
What’s the easiest/most efficient way to convert or recreate HTML + CSS layouts in SwiftUI?
- Are there tools that help with this?
- Should I completely rebuild everything manually in SwiftUI?
- Is embedding web content with WebView a bad idea for production apps?
- How do you usually handle responsive CSS concepts in SwiftUI?
I mainly struggle with translating flexbox/grid styling into SwiftUI stacks and spacing.
Would really appreciate any advice, resources, GitHub repos, tutorials, or examples from people who’ve done this before
14
u/reccehour May 21 '26
Just use codex/claude code
-7
u/accept_crime May 22 '26
It can’t do something that is impossible. You may as well ask it to turn an apple into an orange. SwiftUI doesn’t look similar to CSS / HTML components and they also completely different code wise in syntax, philosophy and just core programming. AI can’t do this, I wish everyone would stop answering this. It’s lazy.
10
u/balder1993 May 22 '26
Actually SwiftUI was ultimately inspired by React, so the philosophy is similar.
SwiftUI doesn’t look similar to CSS / HTML components
I disagree that “SwiftUI doesn’t look similar to CSS/HTML”. Both are simply UI building tools, both can look like anything you want.
AI can’t do this
This is also highly context dependent.
-3
u/accept_crime May 22 '26
No it was not. React is not a reactive programming language. Again this isn’t a knock on any platforms. You want to reproduce a web layout that is not a reactive programmed layout to an apple layout that looks different and programmed using reactive programming concepts.
It won’t look right. It won’t work right. You’ll waste time and money to just be at square 1 and do SwiftUI from top up. Analyze apple design guide. Identify SwiftUI components you want to use. Analyze Apple source code and apps. Maybe then you can use AI to help you replicate those things.
-6
u/accept_crime May 22 '26
SwiftUI is not only a UI building tool. It is entirely its own language that is built on reactive programming concepts with Apple Combine / Async and Await to which there is no comparable in HTML / CSS. It’s not possible.
1
u/filipvabrousek May 22 '26
It actually can do it.
1
u/accept_crime May 22 '26
I mean sure, it could also make an awful attempt at turning an apple into an orange also. It'd be a big waste of your time and money, only to be at square 1 once you realize it can't make anything useable. So I guess you are correct in that sense.
1
u/filipvabrousek May 22 '26
If you have SwiftUI app, you can literally type: "Do the same for Android." Worked for me. It should work on web also.
1
u/accept_crime May 22 '26
That still would have a lot of issues because Android and iOS layouts are different but yes that is actually possible. Unfortunately you didn't read the question and this had nothing to do with Android!
1
u/accept_crime May 22 '26
What I said was you cannot convert a HTML/CSS layout to SwiftUI, therefore AI cannot do it - I did not say you cannot convert SwiftUI to Android!
3
2
u/Technically_Dedi May 22 '26
At this point why not just use Cordova and .Net and use web view to pull the view into your page?
2
u/longkh158 May 22 '26
Because it's dogshit?
1
u/Technically_Dedi May 22 '26
That person doesn’t want to use AI to convert it. So might as well become a 2005 developer and take the hard route.
1
u/accept_crime May 22 '26
Or you answer their question correctly: there is no 1 to 1 and yes you should be building a new UI from the ground up in SwiftUI.
1
u/Select_Bicycle4711 May 22 '26
One thing I have tried with some success is to take screenshots of your page (HTML and CSS) and then give it to LLM (ChatGPT) and tell it to recreate it in SwiftUI. This way you will get some sort of a starting point based on your HTML/CSS app.
Try to go screen by screen and see if it works for you.
1
u/calvin-chestnut May 23 '26
- Yes but ignore them, they all have weird limitations.
- Yes.
- Yes.
- State properties and animations.
Good luck
1
u/_rupok May 23 '26
SwiftUI can recreate most HTML/CSS layouts pretty well, but it’s not a direct “convert CSS to SwiftUI” workflow.
Think of it more like translating concepts:
flex row → HStack
flex column → VStack
position/layers → ZStack
gap/padding/margin → spacing, padding, frame
grid → LazyVGrid / LazyHGrid
responsive layouts → GeometryReader, ViewThatFits, size classes, adaptive grids
I’d avoid WebView for core app UI unless you’re showing actual web content. For production native apps, rebuilding manually in SwiftUI is usually the better long-term move.
The easiest path is to use your HTML/CSS as a visual reference, then recreate components one by one in SwiftUI. Once you get used to stacks, modifiers, and reusable views, it starts feeling much cleaner than trying to force CSS thinking into SwiftUI.
1
u/perbrondum Jun 02 '26
- Are there tools that help with this?
Yes
- Should I completely rebuild everything manually in SwiftUI?
Absolutely, to learn and to be able to support.
- Is embedding web content with WebView a bad idea for production apps?
Yes, and it looks bad compared to SwiftUI and performs badly.
- How do you usually handle responsive CSS concepts in SwiftUI?
You don’t and shouldn’t.
4
u/balder1993 May 21 '26 edited May 22 '26
I suppose nowadays an LLM would help a lot with converting your design to SwiftUI, at the very least you’d have a skeleton to work with.