The main idea is so: If HTML-color is #ABCDEF, then representation of TColor will be $EFCDAB. So, we need to swap some parts of representations of these colors.
// HTML-color -> TColor procedure TForm1.Button1Click(Sender: TObject); begin Edit2.Text:='$'+Copy(Edit1.Text,6,2)+ Copy(Edit1.Text,4,2)+Copy(Edit1.Text,2,2); Panel1.Color:=StringToColor(Edit2.Text); end; // TColor -> HTML-color procedure TForm1.Button2Click(Sender: TObject); var MyColor: TColor; Res: string; begin MyColor:=StringToColor(Edit2.Text); Panel1.Color:=MyColor; Res:=IntToHex(MyColor, 6); Edit1.Text:='#'+IntToHex(GetRValue(MyColor),2)+ IntToHex(GetGValue(MyColor),2)+ IntToHex(GetBValue(MyColor),2); end;