「フォームに名前やメールアドレスを入力するとき、どんなふうに作られているのか気になったことってありますよね。
実は、HTMLのinput typesという仕組みを使うことで、入力欄の動きや見た目を自由に変えることができるんです。
この記事では、HTML input typesの種類とそれぞれの使い方について、わかりやすくまとめてご紹介します。
どのtypeを使えば入力しやすくなるのかがわかれば、もっと便利で使いやすいフォームが作れるようになりますので、ぜひ最後まで読んでみてくださいね。
HTML input typesとは?基本をわかりやすく解説

input要素の役割とは
HTMLのinput要素は、ユーザーが情報を入力できるようにするためのタグです。
例えば、名前やメールアドレス、パスワードなどの情報をウェブページに入力するために使われています。
以下のような役割があります。
- ユーザーからの情報を集める
- 入力内容をサーバーに送信する
- フォームの中でデータを管理する
- 種類ごとに入力のしやすさを変える
- ブラウザによっては補助機能が使える
このように、input要素はウェブフォームの中心的な存在であり、とても重要なパーツなのです。
type属性とは何か
type属性は、input要素に「どんな種類の入力をするか」を指定するためのものです。
たとえば、文字を入れるなら”type=’text'”、パスワードなら”type=’password'”と書きます。
それぞれのtype属性には、特別な機能や見た目があります。
- text:普通の文字を入力する
- password:●で隠された文字を入力する
- email:メールアドレスの形式をチェックする
- number:数字だけ入力できる
- checkbox:チェックマークで選択する
type属性を正しく使うと、ユーザーが入力しやすくなり、エラーも減らすことができます。
form要素との関係
input要素は、formタグの中で使うのが基本です。
formタグは、入力された情報をまとめて送るための入れ物のようなものです。
たとえば、次のように書きます。
<form action="/send" method="post">
<input type="text" name="username">
<input type="submit" value="送信">
</form>
formの中にあるinputタグは、送信ボタンを押すと一緒にデータが送られます。
HTML5で追加されたinput types
HTML5では、新しいinputのタイプがたくさん追加されました。
これによって、もっと便利で使いやすいフォームが作れるようになりました。
主な追加タイプは次のとおりです。
- date:カレンダーで日付を選べる
- time:時計から時間を選べる
- range:スライダーで数値を選ぶ
- color:色を選べるカラーピッカー
- email:メールアドレスのチェック付き
- url:URLの形式を自動チェック
これらのタイプを使うと、見た目がわかりやすく、操作も直感的になります。
ブラウザごとの対応状況
すべてのブラウザが新しいinput typesに対応しているわけではありません。
ブラウザによっては、見た目や動作が違うことがあります。
以下のように、対応状況を確認するのが大事です。
- Google Chrome:ほとんどのタイプに対応
- Firefox:基本的なものは対応、高度なものは注意
- Safari:新しいタイプの一部に未対応
- Edge:最新バージョンなら幅広く対応
- スマートフォンブラウザ:typeによってキーボードが変わる
入力タイプを選ぶときは、多くの人が使うブラウザで問題なく動くか確認しましょう。
アクセシビリティとの関係
input要素は、アクセシビリティ(誰でも使いやすい設計)にも関係があります。
正しいtypeを使うと、視覚に障害がある人や音声読み上げを使う人にも優しくなります。
具体的には次のような工夫が大切です。
- labelタグで内容をわかりやすくする
- aria属性で説明を補う
- タブキー操作でもスムーズに移動できるようにする
- エラーメッセージはすぐにわかる場所に表示する
- 入力ガイドを明確に表示する
こういった工夫によって、誰でも安心してフォームを使えるようになります。
input typesを使うメリットと注意点
input typesをうまく使うと、ユーザーにとってとても便利なフォームになりますが、注意点もあります。
メリットと注意点を整理しておきましょう。
- メリット:入力しやすくなる
- メリット:間違いを減らせる
- メリット:見た目がわかりやすくなる
- 注意点:古いブラウザだと対応していない
- 注意点:デザインが崩れることがある
- 注意点:バリデーションに頼りすぎると危険
正しく選んで使えば、フォームの質がグッと上がります。
どのタイプを使うか、よく考えて設定することが大切です。
代表的なHTML input typesの種類と用途

text:基本のテキスト入力
textタイプは、HTMLで最もよく使われるinputの形式で、自由に文字を入力できるシンプルなタイプです。
ユーザーが名前や住所などを入力する欄に使われることが多いです。
以下のような場面で使われます。
- 名前やニックネームを入力する
- 住所の一部を入力する
- 検索窓の入力欄
- 自由記述のアンケート回答欄
- タイトルや件名の入力
使い方はとても簡単で、以下のように書きます。
<input type="text" name="username">
このtypeは基本中の基本なので、最初に覚えるのにピッタリな要素です。
password:パスワード入力
passwordタイプは、入力した文字を画面に表示せず、「●」や「*」で隠すようにするタイプです。
ログイン画面などでよく使われます。
入力内容が外から見えないようになっているので、プライバシー保護に役立ちます。
- ログイン時のパスワード入力欄
- 会員登録のパスワード設定欄
- パスワード再確認入力欄
以下のように記述します。
<input type="password" name="userpass">
このタイプを使えば、ユーザーが安心して個人情報を入力できます。
email:メールアドレス入力
emailタイプは、メールアドレス形式のチェック機能がある便利な入力タイプです。
間違った書き方(例:@がない)だと、送信時にエラーが出るので、入力ミスを防げます。
- メールアドレスを正しい形か自動でチェック
- スマホではメール入力用のキーボードが出る
- ブラウザによっては自動入力をサポート
例えば以下のように使います。
<input type="email" name="usermail">
ユーザーが正しいメールアドレスを入力するために、とても便利なタイプです。
number:数値入力
numberタイプは、数字だけを入力できる専用のinputです。
スピンボタン(上下の矢印)で数値を増減できる機能がついています。
年齢や数量など、数字だけ必要な場面に便利です。
以下のようなときに使います。
- 年齢や身長の入力
- 商品の注文数
- 点数やスコアの入力
- 価格の設定
- ページ番号の指定
記述例は以下の通りです。
<input type="number" name="quantity" min="1" max="10">
このように使うことで、間違った文字の入力を防げて、操作もしやすくなります。
tel:電話番号入力
telタイプは、電話番号を入力するためのタイプです。
textタイプと見た目はあまり変わりませんが、スマートフォンでは電話入力用のキーボードが出るというメリットがあります。
以下の場面で役立ちます。
- お問い合わせフォームの電話番号入力
- 会員登録時の連絡先記入欄
- 配送先の電話番号欄
使用例はこのようになります。
<input type="tel" name="userphone">
telタイプはスマホユーザーにとってとても使いやすいので、モバイル対応を意識したフォーム作りには欠かせません。
url:URL入力
urlタイプは、ウェブサイトのアドレスを入力するための専用タイプです。
emailと同じように、書き方の間違い(httpがないなど)をチェックしてくれる機能があります。
主に次のような場面で使われます。
- ユーザープロフィールで自分のサイトを入力する
- ブログ記事の出典リンクを入れる
- リンク先を登録するツールなど
HTMLでの書き方は以下のとおりです。
<input type="url" name="userlink">
このタイプを使えば、正しい形式のURLを簡単に受け取ることができます。
search:検索用入力
searchタイプは、検索機能のために作られたinputです。
textとよく似ていますが、検索に特化したUI(クリアボタンなど)があるのが特徴です。
- ウェブサイト内の検索バー
- 商品検索フォーム
- 記事を探す機能
コードは以下のようになります。
<input type="search" name="query">
このタイプを使うと、見た目も機能も検索しやすくなります。
検索フォームにはぜひ使いたいタイプです。
入力フォームを便利にするinput types一覧

date:日付の選択
dateタイプは、ユーザーがカレンダーから日付を簡単に選べる入力フォームです。
誕生日や予約日などを入力させたいときに便利です。
手動で「2025-04-09」といった形式で書かなくても、カレンダーから選ぶだけなので間違いが減ります。
このtypeが活躍する場面はたくさんあります。
- 誕生日入力フォーム
- イベントや予約の日付指定
- 契約開始日や終了日の設定
- 学校の出欠確認
- 記念日の入力
以下のように書きます。
<input type="date" name="birthday">
このように使えば、誰でも簡単に正確な日付を入力できるようになります。
time:時刻の選択
timeタイプは、ユーザーが時間(時と分)を選ぶためのinputです。
ラジオの予約、電話相談の時間指定、アポイントの時間などにとても役立ちます。
手打ちで時間を書くのではなく、選択式なのでとても便利です。
主な使い道は以下のとおりです。
- 予約フォームでの時間選択
- 仕事のシフト時間入力
- 授業やレッスンの開始時刻
- 配送時間の指定
- 面談時間の設定
記述方法は以下のようになります。
<input type="time" name="meeting_time">
見やすくて操作も簡単なフォームが作れるので、時間指定には最適なタイプです。
datetime-local:日付と時刻の選択
datetime-localタイプは、日付と時間をセットで選べるinputです。
イベントの開始日時など、日時のセットが必要なフォームにとても便利です。
カレンダーと時計が一体化していて、スムーズに入力できます。
このtypeは次のようなシーンで使えます。
- 会議やイベントの開始日時
- スケジュールの登録
- 受付時間の予約
- オンライン講座の開始タイミング
- レンタルサービスの借用開始時刻
HTMLではこのように書きます。
<input type="datetime-local" name="schedule">
このタイプを使えば、一つの入力で日付も時間もわかりやすく設定できるので、入力ミスも減ります。
month:月の選択
monthタイプは、年と月だけを選ばせたいときに使うinputです。
日付まで細かく必要ないときにピッタリです。
定期支払いや有効期限などに便利な形式です。
たとえば、以下のような使い方があります。
- クレジットカードの有効期限入力
- 請求月や支払月の設定
- 月ごとの予定作成
- 売上月の集計
- 月間レポートの対象月入力
使用例は次のとおりです。
<input type="month" name="billing_month">
このように書けば、間違いの少ない月選択のフォームが簡単に作れます。
week:週の選択
weekタイプは、年と週番号を選ぶためのinputです。
1年は約52週に分かれているので、週単位での予定や業務管理にぴったりです。
このタイプは、次のようなときに役立ちます。
- 週単位のスケジュール入力
- 社内の週次レポート作成
- 週ごとのタスク確認
- トレーニングの進捗入力
- イベントの開催週指定
コードの例は次のようになります。
<input type="week" name="work_week">
週で管理する情報をわかりやすく入力してもらいたいときには、このタイプがとても効果的です。
range:スライダー形式での数値選択
rangeタイプは、スライダーを左右に動かして数値を選べるタイプです。
目で見ながら選べるので、感覚的な操作が可能です。
ボリューム調整や評価などに向いています。
よく使われるケースは以下のとおりです。
- 音量や明るさの調整
- アンケートでの満足度評価
- 予算や金額のざっくり入力
- ゲームの難易度調整
- 画像のサイズ調整
記述例はこちらです。
<input type="range" min="0" max="100" value="50">
このtypeを使えば、視覚的にも楽しい、わかりやすいフォームが作れます。
color:カラーピッカーで色の選択
colorタイプは、色を選ぶためのinputです。
カラーパレットが自動で表示されるので、初心者でも簡単に色を指定できます。
デザイン系のサービスでよく使われています。
使用されるシーンは次のとおりです。
- プロフィールのテーマカラー設定
- デザインツールでの色選択
- カスタム商品の色指定
- カレンダーのラベル色設定
- 背景色の変更オプション
使用例:
<input type="color" name="favcolor" value="#ff0000">
このタイプは、見た目も操作も楽しいので、ユーザーにとって満足度の高い体験を提供できます。
実践で役立つinput typesの使い分けと注意点

typeの選択でユーザー体験が変わる理由
フォームでどのinput typeを使うかによって、ユーザーの使いやすさやエラーの出にくさが大きく変わります。
適切なtypeを選ぶことは、ユーザーの満足度を高める大事なポイントです。
以下に、typeの選び方で変わるユーザー体験の例を紹介します。
- emailを使えば、間違った形式のアドレスにエラーを出せる
- numberを使えば、文字の入力ミスを防げる
- dateやtimeを使えば、入力しやすいカレンダーや時計が出る
- telを使えば、スマホで数字入力がしやすくなる
- rangeを使えば、視覚的に楽しく数値を選べる
このように、入力項目に合ったtypeを使うことで、間違いが減り、フォームの印象も良くなります。
スマホ対応を意識したtypeの選び方
現代では、多くの人がスマホからフォームに入力します。
そのため、スマホでの使いやすさを意識してinput typeを選ぶことがとても大切です。
特に、typeによって表示されるキーボードが変わることがあります。
スマホ対応で意識するべきポイントを紹介します。
- textでは通常のキーボード
- emailでは「@」「.com」などが入りやすいキーボード
- telでは数字が大きく表示されるテンキー
- numberもテンキーが出るがtelとは微妙に異なる
- dateやtimeは端末ごとに専用の入力UIが出る
これらを考慮してtypeを選べば、スマホユーザーもストレスなく入力できます。
バリデーション機能の活用
HTMLのinput typeには、入力内容が正しいかどうか自動でチェックする「バリデーション機能」があります。
この機能を使えば、JavaScriptを使わなくても、ある程度のチェックが可能になります。
よく使われるバリデーションは以下のとおりです。
- email:メール形式でなければ送信できない
- url:正しいURL形式でないとエラーになる
- required:空欄のままでは送信できない
- pattern:正規表現でルールを指定できる
- min/max:数値の範囲を指定できる
たとえば、以下のように書きます。
<input type="email" required>
バリデーションをうまく使えば、正確なデータを受け取りやすくなり、ユーザーの手間も減ります。
プレースホルダーとラベルの使い方
フォームの入力欄には、何を入力すればよいかが一目でわかるようにする工夫が必要です。
そこで重要なのが「placeholder」と「label」の使い分けです。
それぞれの使い方をまとめます。
- placeholderは、入力欄の中に薄い文字でヒントを表示
- labelは、入力欄の外側に項目名としてしっかり表示
- placeholderだけに頼ると、文字が消えて何を入力する欄かわからなくなる
- labelは視覚障害のある人にも読み上げられるのでアクセシビリティに有効
たとえば、以下のように使います。
<label for="email">メールアドレス</label>
<input type="email" id="email" placeholder="例:sample@example.com">
このようにセットで使うと、使いやすくて誰にでもわかりやすいフォームが作れます。
自動補完(autocomplete)の設定
autocomplete属性を使うと、以前に入力した内容が自動で表示されるようになります。
ユーザーにとって入力の手間が減るので、特に会員登録やログインフォームで効果的です。
よく使うautocompleteの値は以下のとおりです。
- name:氏名
- email:メールアドレス
- username:ユーザー名
- new-password:新しいパスワード
- tel:電話番号
- postal-code:郵便番号
- address-line1:住所
使い方の例はこのようになります。
<input type="text" name="name" autocomplete="name">
自動補完を正しく設定すると、フォームの入力がスピーディーになり、離脱率も下がります。
typeによるセキュリティへの配慮
input typeの選び方には、セキュリティの視点もとても大切です。
たとえば、passwordタイプを使うことで、入力内容が他人に見えないようにできます。
また、typeの選び方によって、悪意ある入力(スパムや不正なコード)を防ぐ助けになります。
セキュリティ上の注意点は以下のようになります。
- passwordは必ずtype=”password”にする
- emailやurlはバリデーションで形式を制限する
- textにはpattern属性で入力内容を絞る
- 入力データの受け取り側でも必ずサニタイズ処理を行う
- autocompleteをoffにして、情報漏洩を防ぐケースもある
たとえば、以下のように書くと安全性が高まります。
<input type="password" autocomplete="new-password">
フォーム設計においては、見た目や使いやすさだけでなく、安全性にも十分気を配ることが大切です。
非対応ブラウザ向けのフォールバック対策
HTMLの新しいinput typeはとても便利ですが、すべてのブラウザが完全に対応しているわけではありません。
そのため、古いブラウザや一部のスマホで機能しない場合に備えた「フォールバック(代替手段)」の準備が必要です。
主な対策方法を紹介します。
- JavaScriptで機能を補う
- placeholderで入力内容の形式を伝える
- pattern属性でルールを設定する
- 必要に応じて通常のtextに切り替える
- CSSで最低限のデザインを保つ
たとえば、以下のように工夫します。
<input type="date" name="date" pattern="\d{4}-\d{2}-\d{2}" placeholder="2025-04-09">
こうした工夫をすることで、どんな環境でも使いやすく、安心できるフォームが作れます。
まとめ

HTMLのinput typesを正しく使うことで、フォームはもっと使いやすくなり、入力ミスも減らすことができます。
スマホやパソコン、どんな端末でも快適に使ってもらえるようにするためにも、種類と用途をしっかり理解しておくことが大切です。
ここで特に大事なポイントを振り返ってみましょう。
- 入力内容に合ったtypeを選ぶことが基本
- スマホ対応を意識すると入力しやすくなる
- バリデーションや補完機能でユーザーを助けられる
- アクセシビリティとセキュリティにも配慮が必要
- 古いブラウザにはフォールバック対応を忘れない
今すぐ自分のサイトやフォームを見直して、どのinput typeを使っているかチェックしてみましょう。
使いやすくて親切なフォームが、あなたのサイトの信頼をもっと高めてくれます!
 
  
  
  
  



 
       
       
       
               
               
               
               
               
       
       
       
      