Tailwind CSS Address Form
Collect delivery address for the user<div class="w-full md:w-96 md:max-w-full mx-auto">
<div class="p-6 border border-gray-300 sm:rounded-md">
<form
method="POST"
action="https://herotofu.com/start"
enctype="multipart/form-data"
>
<label class="block mb-6">
<span class="text-gray-700">Your name</span>
<input
name="name"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder="Joe Bloggs"
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Address line 1</span>
<input
name="address1"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Address line 2</span>
<input
name="address2"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">City</span>
<input
name="city"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">State/Province</span>
<input
name="state"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Zip/Postal code</span>
<input
name="zip"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Country</span>
<input
name="country"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Telephone</span>
<input
name="telephone"
type="text"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
placeholder=""
/>
</label>
<label class="block mb-6">
<span class="text-gray-700">Delivery information</span>
<textarea
name="message"
class="
block
w-full
mt-1
border-gray-300
rounded-md
shadow-sm
focus:border-indigo-300
focus:ring
focus:ring-indigo-200
focus:ring-opacity-50
"
rows="3"
placeholder="floor/door lock code/etc."
></textarea>
</label>
<div class="mb-6">
<button
type="submit"
class="
h-10
px-5
text-indigo-100
bg-indigo-700
rounded-lg
transition-colors
duration-150
focus:shadow-outline
hover:bg-indigo-800
"
>
Save
</button>
</div>
<div>
<div class="mt-2 text-gray-700 text-right text-xs">
by
<a href="https://herotofu.com" class="hover:underline" target="_blank"
>HeroTofu</a
>
</div>
</div>
</form>
</div>
</div>
/* The following CSS is used only for the preview,
please don't copy it to your production code */
body { padding: 2rem 0; }The provided tailwind example use tailwindcss/forms plugin.
Frequently Asked Questions
Can I use it freely in a commercial project?
Yes! Attribution is welcomed but not required. The only caveat is that you can't re-sell this code directly as a standalone component.
Why is it free?
It's free because HeroTofu gets revenue from form submissions handling rather than forms themselves.
I've copied the form code. What are the next steps?
You should connect your form to the backend to store submissions. Subjectively the best way to do so is to navigate to https://herotofu.com/start 🙂
Who's behind HeroTofu?
Munero Company operates HeroTofu. It's incorporated in the EU 🇪🇺
HeroTofu is a set of tools and APIs designed to help Developers and Marketers.
© 2026 HeroTofu by Munero
