Websites are primarily saved in .htm(l) format, being based on HTML (hypertext mark-up language), CSS, sometimes Javascript.

Are .onion sites on the darknet no different, or are there unique coding language(s) for designing them?

Is there special website design software, like Adobe Dreamweaver, made for designing .onion sites?

  • You can go to an onion service using Tor, then view page source or dev-tools to see if they are using HTML (spoiler alert: they are).
    – Swangie
    Commented Feb 14, 2021 at 17:38
  • Tor has source page view and dev?
    – user610620
    Commented Feb 15, 2021 at 3:10
  • Yes, of course. It's based on Firefox browser. You can click on the three lines in the top right corner, click on web developer, and then click inspector.
    – Swangie
    Commented Feb 15, 2021 at 15:00

4 Answers 4


Building onion websites is generally no different than building regular websites. The main difference is the underlying connection protocol and not the website itself. You build onion websites using the same tools such as a web server (Apache, Nginx, etc), the documents (HTML, css, etc), and server-side languages (PHP, NodeJS, etc). There is no special coding languages or design software. If you know how to build a regular website, then you will find it easy to build an onion website.

Setting up an onion service is usually as simple as changing one or two lines of your tor configuration file (the torrc file) to point to your web server. If you need special features such as load balancing things get a little trickier, but a simple onion service is usually very easy to set up once you've built the website.

  • are there webmasters that publicly advertise .onion or darknet website designing services? or is it always (especially for privacy reasons in the case of illegal merchants) a DIY hobby
    – user610620
    Commented Feb 14, 2021 at 16:16
  • I don't think most website designers advertise it since it's no different than building a regular website. There might be some who do advertise it, but I would personally distrust anyone offering to build a "darknet" website. Onion services are more than a DIY hobby (for example see this huge list of onion services: github.com/alecmuffett/real-world-onion-sites), so there are a lot of professionals who are experienced building/running onion services.
    – Steve
    Commented Feb 14, 2021 at 18:43
  • what changes must be made to the torrc file exactly
    – user610620
    Commented Feb 16, 2021 at 20:48

Onion services expose a website served by a particular host anonymously over the tor network, making the site accessible via an onion address (which masks the underlying host).

You can follow the official guide here for setting up [an] onion service(s).

That said, the guide specifically guides you in creating a very simple html document using Apache or Nginx - at the default virtual host location (i.e. /var/lib/www, served over port 80 from localhost).

It can also be a Node.js server, a Go application, a C++ service, a ktor app, a Java web application, etc. Anything that listens at the local address and responds to http requests can be exposed over the tor network via an onion service.

With that said, you have the full extent of tooling available for building websites at your disposal when designing an onion service.

In response to your comment where you ask ❝What specific changes to the torrc file need to be made?❞:

The guide walks you through creating two torrc file changes in order to create an onion service exposing that plain-Jane HTML website over tor:

  1. Add the line HiddenServiceDir /var/lib/tor/my_website/

    This line tells the tor service to expose a hidden (anonymous) service over the tor network, using the directory /var/lib/tor/my_website.

  2. Add the line HiddenServicePort 80

    This line tells the tor service to proxy that hidden service it's exposing to a website/web service listening on port 80, at the local address In the case of the guide, this is a proxy to the default virtual host for Apache or Nginx (the guide walks you through a very simple quick-start install of either, asking you to put a single HTML file in the default host directory).

  3. Restart the tor service via sudo systemctl restart tor (or the comparable command on your host). If all goes well, the service will restart and create the directory (or directories) you specified per HiddenServiceDir entry.

  4. Find the hostname file in the directory you specified for HiddenServiceDir. This file will contain the onion address (v3) (your .onion hostname). The other files in the directory are your onion service keys and need to be kept private; To expose their content would allow others to impersonate your service, and this would defeat the purpose altogether.

The guide goes on to explain that you can add more addresses that serve that same anonymous site/service by adding more HiddenServicePort lines, and that each subsequent HiddenServicePort entry will refer to the hidden (onion) service specified at the last HiddenServiceDir entry made.

This means that you can leverage additional entries for supporting a load balancing scenario over tor, or to setup several services under the same tor service (tor client on a particular host).

As such, at the end of the day - a tor website (or onion service) is simply a regular website (in the myriad of ways one can be built) exposed over tor.


Actually, a good question! The answer is Yes and No at the same time! As for now, we're encapsulating nearly everything inside a HTTPS pipes and HTTP/2 channels as well, so we can have not just a HTML-rendered sites for a web browsers as we used to have, but also a video conferencing software, audio calling e.t.c. just inside the onion service. Tor is not protocol-specific that much: it only allows any TCP service to function through it


Short: What you want

You serve HTML on your .onion address, but also host .mp4 files or any binaries. JS and CSS, of course, too.

The webserver doing that, can be the same for the "normal internet". Tor only transmit that to the "darknet".

  • .html and .onion is about presentation. hosting .mp4 files is a server issue, so are you suggesting the presentation or storage of .mp4's is different for .onion sites than clearnet somehow? How, and what are binaries
    – user610620
    Commented Feb 14, 2021 at 16:14
  • The Server can host every file format, if clearnet of darknet. Only the browser have to support the file format to present that. Tor Browser is based on Firefox. Means that both mainline present HTML.
    – fossdd
    Commented Feb 15, 2021 at 17:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .