What’s Erviz?

I’m in the process of forking Erviz. The fork is almost done. The Linux packages are prepared and almost ready to be submitted. (27. Sep 03:47 UTC)

Erviz, written by Mitsuru Kono, is a tool that makes it easy to create entity-relation models and the best thing it’s free!

You can run it on Windows, Linux and Mac but for the latter a patch is required which will be discussed later on this page.

Creating the entity-relation diagram

Only these two steps have to be followed:

  1. Create a text file and define all your entities and relationships. The syntax is simple as example shows:

    # Using Erviz 1.0.6
    {title: "Syn2Stock ERD V3"; title-size: 20}
    # Entities
    [Item] {color:red}
     *Item ID
      Bar Code
      Source ID*
      Location ID*
      Lending ID*
     *Source ID
     *Location ID
      GPS Coordinates
     *Lending ID
      Borrowed by
      Borrowed on
      Returned on
      Reminder ID*
     *Reminder ID
      Start Date
      Repeat Interval
      End Date
      Item ID*
      Lending ID*
      *Event ID
      Event Type
      Item ID*
     *Attachment ID
      External URL
    [Electronic Part] {color:orange}
     *Electronic Part ID
      Item ID*
    [Book] {color:orange}
     *Book ID
      About the Author
      Item ID*
    # Relationships
    [Item] *--* [Source]
    [Item] 1--1 [Location]
    [Item] 1--* [Lending]
    [Item] *--* [Attachment]
    [Reminder] ---- [Item] 
    [Event] *--1 [Item] 
    [Electronic Part] ---- [Item] 
    [Book] ---- [Item] 
  2. Then turn the text file into the ERD image by calling the convert-files script.

Where do I get it?

Since I’m in the process of forking Erviz it will be rereleased on the new project page. In the meantime you can download the old but non-maintained version here:


md5: dbfa20515118535c106032c8200163c6
sha256: 8f1fb3832eb33a1aef2f0a7b439949e9b132ee4ff73f5b18bea174dc1f7bd21e


md5: 90d8a9c7dc74b07cfb44484823ed0059
sha256: b9273fff329550951d57bcf201be85e5a9cfe0d1592bfc90077a2a385b274565

What else do I need?

Java 6 and Graphviz.

Apple doesn’t offer Java 6 or greater for 32-bit macs but fortunately there’s SoyLatte, a FreeBSD Java port which brings Java 6 back.

I wrote a script that installs it for you. Download the Java 6 Installer, extract the archive, open a Terminal and execute

chmod 755 install_java6.sh

Graphviz can be downloaded from graphviz.org or install the macports package by executing

sudo port install graphviz

How do I install it?


Download and extract erviz. Its folder contains two setup files, one for windows and one for Linux/Unix/Mac.

localhome:erviz-1.0.6 slopjong$ ls -l
total 32
drwxr-xr-x@ 11 slopjong  admin   374 27 Jul  2010 _setup_
-rw-r--r--@  1 slopjong  admin    86 27 Jul  2010 readme_1st.txt
-rw-r--r--@  1 slopjong  admin  2449 27 Jul  2010 setup.cmd
-rw-r--r--@  1 slopjong  admin  2853 27 Jul  2010 setup.sh

The next step is linux/unix/mac specific so have a look at the readme file to see how it’s done on windows.

Change the file permission to 755 and launch the setup script.

localhome:erviz-1.0.6 slopjong$ chmod 755 setup.sh 
localhome:erviz-1.0.6 slopjong$ ./setup.sh 

It asks you if you want to install the English or Japanese version. Type in 1 or 2.

Select language number. (Enter 'q' to quit.)

1: English
2: Japanese

-n Language: 
copying... [./_setup_/common/bin/*] -> [./bin/*]
copying... [./_setup_/common/html-docs/*] -> [./html-docs/*]
copying... [./_setup_/common/work/*] -> [./work/*]
copying... [./_setup_/unix/bin/*] -> [./bin/*]
copying... [./_setup_/en/docs/*] -> [./docs/*]
copying... [./_setup_/en/work/*] -> [./work/*]
copying... [./_setup_/en-unix/bin/*] -> [./bin/*]
copying... [./_setup_/en-unix/work/*] -> [./work/*]
permission changing... [./bin/*.sh]
permission changing... [./work/scripts/*.sh]
copying... [./work/scripts/text2png-ie.sh] -> [./work/text2png-ie.sh]
copying... [./work/scripts/text2png-idef1x.sh] -> [./work/text2png-idef1x.sh]
moving... [./docs/readme.txt] -> [./readme.txt]


See ./readme.txt

On windows and Linux you’re done. Mac users must patch as described next.


Download this patch file and extract it into your erviz installation folder. Change into the bin directory and simulate the patching with the option –dry-run to see if the patch will work for you.

localhome:erviz-1.0.6 slopjong$ cd bin/
localhome:bin slopjong$ patch --dry-run -p1 -i ../erviz.patch 

If you get the following output the patch would have worked.

patching file convert-files.sh
patching file erviz.sh
patching file messages.sh

Now run the patch again but without the –dry-run option this time.

localhome:bin slopjong$ patch -p1 -i ../erviz.patch 
patching file convert-files.sh
patching file erviz.sh
patching file messages.sh

Patch done. Wasn’t this easy?

How do I use it?

After you wrote your model (or copied it from above) you translate it into layered drawings of directed graphs by executing

./erviz.sh -i your_model.txt -o graph.dot

your_model.txt is the input file and the result of this script will be written into graph.dot. This will be the input file for the other script.

./convert-files.sh graph.dot

You should get graph.png, your ERD image.


  1. Ralph Corderoy

    Erviz looks very nice but the author’s site seems to have disappeared; you are now the prime source of the program. If anyone knows of an up to date URL for Mitsuru Kono please post here.

  2. slopjong

    When I wrote this article I dropped him a message that there’s a patch for mac os available on my blog but I never got a reply. Let’s wish that he’s fine.

  3. slopjong

    Erviz will be rereleased under a new name since the old Erviz project obviously died. I’ve made the new version more user-friendly but no extra features were added.

    If you have some wishes, drop me a message here.

  4. Gabriel Andrade

    Nice initiative! Erviz is such a nice tool. I’m working on a Perl port and hope we can get this together and deliver erviz in many flavors. : )

  5. Andreas

    Erviz is indeed a great tool! I already used it for several projects. Do you still plan to put it on a platform like github or bitbucket? Would be nice. I could also support you in this.

  6. slopjong

    Huh, I’m very surprised that there were and still are active users. Recently I’ve already thought of working on erviz again so you’ll be the reason that I get off my tush.

  7. Jeff Kassel

    Hi slopjong, your tool works great but missing a way i can map a field on one entity to a field in another entity. the connection lines just point to the entity, not the field.

  8. Hi Jeff, I wouldn’t expect them to connect fields. What’s the relationship you’re trying to represent by such a line? It provides crow’s foot notation.

  9. monika

    Thanks for a great tool. May I kno how can I modify the code of Erviz, to actually add tow columns instead on one in Entity box. I ant to add Attributes-name|Values.
    Will that be possible using the present code?
    Let me know.
    Thanks a lot.

  10. monika

    My keyboard has problem with tryping ‘W’. Corrected question again .

    Thanks for a great tool. May I know how can I modify the code of Erviz, to actually add two columns instead on one in Entity box. I want to add Attributes-name|Values.
    Will that be possible using the present code?
    Let me know.
    Thanks a lot.

  11. Matt

    Hi, just found this page today when looking for a simple to use tool for documenting ERDs in Graphviz. Looks great. Any hope of seeing this project migrated over to GitHub or anywhere else? I’d love to see it end up in some official repositories and hate to see for this website disappear.

  12. It seems slopjong has made his fork available. It’s called erwiz, so that’s s/v/w/.

  13. Sorry, me again. Just found Erwiz is also on github.

  14. omega

    I am making a system for text to ERD generation which will create an Extended/enhanced ERD. Do any one have any idea about such system’s CLASS DIAGRAM.
    please share any beneficial idea about this !

  15. This website is really interesting, but why it is on 12th place in google’s search results.

    It deserves to be in top 5. Many webmasters think that seo is
    dead in 2016, but it’s not true. There is sneaky method to reach google’s top 5 that not many people know.
    Just search for: pandatsor’s tools

Trackbacks / Pings

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>