Projektowanie interfejsu strony może się odbywać na dwa sposoby, jako prototyp i od razu jako projekt graficzny.
Prototyp, czasem nazywany też makietą można wykonać nawet na zwykłej kartce papieru, ale warto zainteresować się narzędziami przygotowanymi specjalnie do tego, np. Axure (www.axure.com) czy darmowy Pencil Project (http://pencil.evolus.vn/en-US/Home.aspx). Takie narzędzia pozwalają na wykonanie tzw. projektu klikalnego. Możliwe będzie przechodzenie pomiędzy zaprojektowanymi podstronami jak na normalnej stronie internetowej,a to dzięki temu, że obie wymienione aplikacje pozwalają na generowanie projektu do HTMLa. Wykonanie klikalnego projektu pozwala na naprawienie wszystkich błędów czy wprowadzanie poprawek jeszcze na etapie projektowania, zanim do pracy przystąpią programiści.
Często ten etap jest pomijany i od razu wykonywany jest projekt graficzny i to na nim grafik wprowadza ewentualne zmiany.
Niezależnie od sposobu projektowania pamiętać trzeba o kilku zasadach. Dobrze zaprojektowany interfejs ma pozwolić użytkownikowi na jak najszybsze znalezienie tego czego szuka, bez zbędnych akcji. Mówi się, że na dobrze zaprojektowanej stronie możliwe jest dotarcie do każdej podstrony w maksymalnie trzech kliknięciach. Przy projektowaniu strony internetowej warto kierować się zasadami usability. Nawigacja w serwisie powinna być intuicyjna i co ważne taka sama na każdej podstronie. Należy znaleźć złoty środek pomiędzy funkcjonalnością strony a jej wyglądem.
Przed rozpoczęciem projektowania interfejsu trzeba się zastanowić nad wieloma aspektami. M.in. jaka będzie grupa docelowa użytkowników? Inaczej należy projektować stronę dla nastolatków, inaczej dla emerytów. Jaki ma być charakter serwisu? Forum dla młodzieży może być utrzymane w luźniejszym stylu , ale już taki styl absolutnie nie będzie pasował do serwisu internetowego np. banku.
Po wstępnym zaprojektowaniu interfejsu warto na makiecie przeprowadzić testy użyteczności. Są to dodatkowe koszty, ale warto je ponieść, aby wszelkie błędy wyeliminować na etapie projektowania, a nie dopiero po napisaniu aplikacji przez programistów.