Dokument HTML można stworzyć w dowolnym edytorze tekstu, ponieważ jest on zwykłym plikiem tekstowym, w którym umieszczone zostały polecenia HTML. Strona WWW napisana w notatniku Windows nie będzie się różnić od tej stworzonej w bardziej skomplikowanym programie. Chociaż ręczne wpisywanie
znaczników byłoby dosyć uciążliwe. Jest wiele wyspecjalizowanych programów do tworzenia stron WWW, które ułatwiają pracę. Mają one kilka przewag w porównaniu do prostych edytorów tekstu:
- wstawianie
jednym kliknięciem otwierającego i zamykającego znacznika
- sprawdzanie składni języka HTML i pisowni tekstu
- dodawanie atrybutów kilkoma kliknięciami
- poprawianie błędów w importowanych dokumentach HTML
- intuicyjne i proste tworzenie formularzy, ramek czy tabel
Wyspecjalizowane edytory dzielą się na dwa rodzaje:
Edytory tekstowe: pozwalają na bezpośrednią pracę z kodem HTML, często wyposażone są w szereg kreatorów (np. tabel, ramek, znaczników itd.) pomagających w tworzeniu stron WWW. Przykładem takich programów są: HomeSite, Pajączek 2000 pro 4.8.1 oraz CoffeCup HTML Editor.
Edytory graficzne: są bardziej wymagające sprzętowo, praca z nim odbywa się w trybie WYSIWYG (ang. What you see is what you get - "otrzymasz to, co widzisz"), oferują wiele kreatorów i gotowych szablonów; ich wadą jest ograniczona kontrola kodu strony. Przykładem tych edytorów są: MS FrontPage czy Macromedia Dreamveaver.

Znaczniki w języku HTML
Znaczniki w HTML są rozkazami pisanymi pomiędzy znakami <>,
określającymi sposób wyświetlenia tekstu przez przeglądarkę. Znaczniki, przynajmniej
większość z nich, występują jako otwierające np. <B> oraz zamykające
np. </B>. Obejmują one tekst, do którego się odnoszą.
Przykład:
<Em>czerwony krasnoludek</Em>
czyli: czerwony krasnoludek

Atrybuty
Atrybuty są rozszerzeniami znaczników. Pozwalają uszczegółowić ich
działanie. Można wpisać wiele atrybutów do jednego znacznika, piszące je jeden po drugim oddzielone spacją.
Przykład:
<FONT COLOR>, gdzie COLOR jest atrybutem.

Wartości atrybutów
Atrybuty przyjmują różne wartości, z których można wybrać jedną, a reszta będzie ignorowana. Niektóre atrybuty akceptują wartości tylko ściśle określonego typu jak liczby całkowite czy adresy URL. Na przykład atrybut CLEAR znacznika BR może przyjmować wartości left, right lub
all .
Przykład:
<BR CLEAR=left>

Zagnieżdżone znaczniki
Można zagnieżdżać znaczniki. Trzeba jedynie pamiętać, że nie wszystkie
mogą zawierać dowolne inne znaczniki w sobie. Ważny jest także porządek. Jeżeli używamy zamykającego znacznika to musi on być parą dla poprzedzającego go, otwierającego znacznika. Tekst wypisany pogrubioną kursywą wyglądałoby tak:
<b><em>czerwony krasnoludek</b></em>
czyli czerwony krasnoludek

Kodowanie polskich znaków
Język HTML musi mieć możliwość obsługi różnych języków, czyli różnych
znaków narodowych. Dlatego dla danego języka, części świata zostały określone strony kodowe. Polskim standardem jest strona kodowa ISO 8859-2. Działa ona w każdym systemie (Windows, Unix, Linux, MacOS). Są trzy możliwości uzyskania strony kodowej. Można stworzyć stronę w odpowiednim edytorze stron HTML z
wbudowanym modułem do konwersji znaków. Drugi sposób to wstawianie polskich znaków w formacie Windows 1250 a następnie konwertowanie ich za pomocą specjalnych programów. Trzecia możliwość to instalacja czcionek zgodnych ze standardem ISO 8859-2.
Deklarację obsługi strony kodowej umieszcza się w sekcji <HEAD>. Ma ona następującą postać dla strony kodowej ISO 8859-2:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
a dla strony kodowej Windows 1250:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">

Znaki specjalne
Stosując standard ISO-8859-2 możemy wykorzystać "opisowy" sposób wprowadzania znaków, głównie znaków specjalnych. W dokumentach HTML największe znaczenie mają znaki specjalne: <, >, " oraz &. Jeśli wpisze się je w zwyczajny sposób z klawiatury, przeglądarka może chcieć je zinterpretować; dlatego aby znak został wyświetlony poprawnie należy użyć jego nazwy lub
numeru. Polskie znaki powinniśmy zapisywać 8-bitowo, czyli "ą", "ę", a nie w postaci różnych symboli. Najważniejsze znaki specjalne umieszczone są poniżej w tabelce:
| Numer |
Nazwa |
Opis |
Reprezentacja w przeglądarce
|
| " |
" |
cudzysłów prosty |
" |
| & |
& |
znak and |
& |
| < |
< |
znak mniejszości |
<; |
| > |
> |
znak większości |
> |
|   |
|
twarda spacja |
|
| ¡ |
¡ |
odwrócony wykrzyknik |
Ą |
| ¦ |
¦ |
przerwana linia pionowa |
Ś |
| § |
§ |
znak sekcji lub paragrafu |
§ |
| © |
© |
znak praw autorskich |
© |
| ® |
® |
zastrzeżony znak towarowy |
® |
| ¯ |
¯ |
kreska górna |
Ż |
| € |
€ |
znak Euro |
€ |

Adresy URL
URL (ang. Uniform Resource locator), czyli ujednolicony wskaźnik do zasobów; to internetowy adres zawierający informacje, gdzie znajduje się dany plik i co powinna z nim zrobić przeglądarka. Adres URL jest niepowtarzalny dla każdego pliku. Pierwsza część adresu to protokół, który mówi przeglądarce jak postąpić z plikiem. Najpopularniejszym protokołem w sieci Internet jest HTTP (ang. Hypertext transfer protocol - protokół transmisji hipertekstu)wykorzystywany podczas przeglądania stron WWW.
Przykład:
http://www.icpnet.pl/~perszing/podstawy.html
Druga część adresu URL to nazwa serwera, na którym znajduje się
plik, ścieżka dostępu wskazująca na katalog zawierający plik i nazwa samego
pliku. URL zakończony ukośnikiem bez nazwy pliku wskazuje na domyślny plik
ostatniego katalogu w ścieżce dostępu.
Protokoły mailto oraz news zawierają tylko dwukropek np. mailto: , w reszcie wygląda to: ftp://
Są dwa rodzaje adresów URL: względne i absolutne. Absolutny adres URL zawiera całą ścieżkę dostępu do pliku, nazwę protokołu, serwera, pełną ścieżkę dostępu oraz nazwę pliku. Stosujemy go, gdy podajemy adresy spoza naszego komputera czy serwera.
Opisuje położenie określonego pliku odnosząc się do położenia pliku, w który on się znajduje. Dlatego względny adres URL pliku znajdującego się w tym samym katalogu, co bieżący plik, jest nazwą pliku z jego rozszerzeniem np. index.html. Adres URL pliku umieszczonego w podkatalogu bieżącego pliku tworzy się pisząc nazwę podkatalogu, za nią ukośnik oraz nazwa pliku z rozszerzeniem np. "obrazki/obrazek.gif". Aby wskazać plik w katalogu znajdującym się wyżej w strukturze katalogów należy użyć dwóch kropek.