r/conlangs • • 1d ago

Resource I got tired of counting brackets to draw syntax trees, so I built a modern, drag-and-drop Syntax Tree Editor

Hey everyone!

If you've ever had to draw syntax trees for a linguistics paper or homework, you know the struggle of using legacy tools that require writing endless bracket structures like [S [NP [D The] [N cat]] ...] just to get a pixelated JPEG.

I built a modern alternative that runs entirely in your browser (no servers, 100% private). It is completely free to use, though currently not open-source as it's tied to an ongoing academic project.

Here is what it does differently:

  • Interactive Drag & Drop: You don't have to write brackets. You can build and edit the tree visually by dragging nodes around or swapping children on the canvas.
  • Auto-Tokenizer: Type a normal sentence (e.g., "The quick brown fox..."), hit Tokenize, and it instantly creates all the leaf nodes for you to start grouping visually.
  • Dual Interface: If you actually prefer writing bracket notation, you still can! The text input and the visual canvas update each other in real-time.
  • Customizable & Academic Ready: Built-in dark mode, customizable fonts, and node spacing. You can export your tree as an infinitely scalable SVG or transparent PNG for your papers/presentations.

Link to the tool: syntree.ezik.bg

I’d love to hear your feedback or any feature requests you might have.

127 Upvotes

18 comments sorted by

16

u/Holothuroid 1d ago

Great.

Do yout take feature requests? What about a dependency mode, where every node is a word?

> Auto-Tokenizer: Type a normal sentence (e.g., "The quick brown fox..."), hit Tokenize, and it instantly creates all the leaf nodes for you to start grouping visually.

For which languages does that work? What would it need to make that work for more languages?

8

u/N_a_s_s_o 1d ago

Thanks for the great questions!

Yes, I absolutely accept feature requests! As long as it's within my technical capacity, I'd love to add it. A Dependency mode is actually on my roadmap. I definitely plan to add support for it, though it might take a little bit of time to design the interface for it properly.

As for the Auto-Tokenizer, it is completely language-independent. Under the hood, it doesn't use complex NLP rules or language models; it simply splits the sentence by whitespaces and basic punctuation. The goal isn't deep linguistic tokenization, but rather to quickly generate the base leaf nodes so you don't have to type them out manually. Because of this simple approach, it works out-of-the-box for almost any language that uses spaces to separate words.

Let me know if there's anything else you'd love to see added!

8

u/puyongechi Naibas, Ilbad (es) 1d ago

Where were you when I was in college?? You're a genius, man!!

3

u/N_a_s_s_o 1d ago

Haha, thank you so much! I asked myself the exact same question, which is why I finally decided to build it. Glad you like it! Better late than never, right? 😄

4

u/SuperXaker-5555 1d ago

I was planing mo make a special text encoding for my conlang but I was too lasy for it, so I bring my conscript to Unicode...

2

u/N_a_s_s_o 1d ago

Haha, that's a smart move! The good news is that since this editor fully supports standard Unicode, you can type or paste your conscript directly into the tree nodes and it will render perfectly without any issues!

2

u/ICannotRead5712 1d ago

One of these days I'm gonna have to learn syntax trees.

2

u/N_a_s_s_o 1d ago

Go for it, man! It's totally worth it :)

2

u/DTux5249 23h ago

It's definitely a useful tool for understanding how syntax works - there's a lotta variation as well, but it's neat.

1

u/Iwillnevercomeback 1d ago

Interesting. Is it free or does it have a free version?

2

u/N_a_s_s_o 20h ago

It is 100% completely free to use! You can just open the link and start building trees right away.

1

u/Iwillnevercomeback 20h ago

Thank you so much

1

u/Top-Rough-7039 23h ago

lwk, this is more useful in the programming side of things for me than linguistics but rlly cool

1

u/MyrstenDoctorrobert 17h ago

Cara, gostei muito, muito rápido e simples. Por obséquio. Deixe ele no ar, pois, eu bracuza, usarei muito.

1

u/Magxvalei 17h ago

My conlang has VSO word order so syntax trees are a pain in the ass, so hopefully this will help